Мне нужно установить заполнитель для горизонтальной формы входа в Drupal 7. Этот текст должен исчезнуть при нажатии. Они просто скажут «имя пользователя» и «пароль». Вот код для формы на данный момент. Благодаря!
function horizontal_login_block($form) { $form['#action'] = url($_GET['q'], array('query' => drupal_get_destination())); $form['#id'] = 'horizontal-login-block'; $form['#validate'] = user_login_default_validators(); $form['#submit'][] = 'user_login_submit'; $form['#prefix'] = '<div id="loginbar">'; $form['#suffix'] = '</div>'; $form['name'] = array( '#type' => 'textfield', '#prefix' => '<div class="usericon">', '#suffix' => '</div>', '#maxlength' => USERNAME_MAX_LENGTH, '#default_value' => t('Username'), '#id' => 'userbar', '#size' => 15, '#required' => TRUE, );
Вот как это сделать в HTML5, используя атрибут HTML-заполнителя. Однако он не работает ни в одной версии Internet Explorer.
function horizontal_login_block($form) { $form['#action'] = url($_GET['q'], array('query' => drupal_get_destination())); $form['#id'] = 'horizontal-login-block'; $form['#validate'] = user_login_default_validators(); $form['#submit'][] = 'user_login_submit'; $form['#prefix'] = '<div id="loginbar">'; $form['#suffix'] = '</div>'; $form['name'] = array( '#type' => 'textfield', '#prefix' => '<div class="usericon">', '#suffix' => '</div>', '#maxlength' => USERNAME_MAX_LENGTH, /* Don't set default values. HTML5 '#default_value' => t('Username'), */ '#id' => 'userbar', '#size' => 15, '#required' => TRUE, '#attributes' =>array('placeholder' => t('Username')) );
Еще один простой способ – добавить эту функцию в свои темы template.php :
function YOURTHEMENAME_form_alter( &$form, &$form_state, $form_id ) { if (in_array( $form_id, array( 'user_login', 'user_login_block'))) { $form['name']['#attributes']['placeholder'] = t( 'Username' ); $form['pass']['#attributes']['placeholder'] = t( 'Password' ); } }
Это добавит заполнители HTML5 в поля Username и Password в обеих формах входа.
Не забудьте изменить начало имени функции!
Повеселись!
Подумайте об использовании этого модуля. https://www.drupal.org/project/form_placeholder реализует заполнитель HTML 5, а для старых браузеров более старые браузеры не поддерживают HTML-атрибут placeholder, который использует плагин JQuery Placeholder от Mathias Bynens.