Задаване на стойност по подразбиране, които се изчистват при фокус на input с js:
(function($){ Drupal.behaviors.nsni_ext = { attach: function(context) { $('input[name$="name"]').val(Drupal.t('User')); $('input[name$="pass"]').val(Drupal.t('Password')); $('input[name$="name"], input[name$="pass"]').addClass('default-value'); $('.default-value').each(function() { var default_value = this.value; $(this).focus(function() { if(this.value == default_value) { this.value = ''; } }); $(this).blur(function() { if(this.value == '') { this.value = default_value; } }); }); } } })(jQuery);
Закачане на js файла към формата:
/** * Implements hook_form_alter(). */ function nsni_ext_form_alter(&$form, &$form_state, $form_id) { if ($form_id == 'user_login_block') { $form['#attached'] = array( 'js' => array( drupal_get_path('module', 'nsni_ext') . '/misc/nsni-login.js' => array( 'type' => 'file' ), ), ); }
Закачане на външна js библиотека към форма (selectbox.js):
резултат на select options от selectbox
Selectbox jQuery plugin link:
https://code.google.com/p/select-box/
Drupal code:
/** * Implements hook_form_alter(). */ function nsni_ext_form_alter(&$form, &$form_state, $form_id) { if (strstr($form_id, 'webform_client_form_')) { //attach custom css and js to webform client form $form['#attached'] = array( 'css' => array( drupal_get_path('module', 'nsni_ext') . '/misc/nsni_ext.css' => array( 'type' => 'file' ), ), 'js' => array( drupal_get_path('module', 'nsni_ext') . '/misc/selectbox/js/jquery.selectbox-0.2.min.js' => array( 'type' => 'file' ), drupal_get_path('module', 'nsni_ext') . '/misc/nsni_select.js' => array( 'type' => 'file' ), ), ); } }