如何在登录表单上的drupal 7中设置占位符

Zac*_*ach 16 javascript css php forms drupal-7

我需要在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,
);
Run Code Online (Sandbox Code Playgroud)

Aye*_*h K 24

这是使用占位符HTML属性在HTML5中执行此操作的方法.但是,它不适用于任何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'))
    );
Run Code Online (Sandbox Code Playgroud)

  • 对于较旧的浏览器,http://drupal.org/project/jquery_placeholder可能有用. (3认同)

Rai*_*sch 22

另一种简单的方法是将此函数添加到主题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' );
    }
}
Run Code Online (Sandbox Code Playgroud)

这会将HTML5占位符添加到两个登录表单中的"用户名"和"密码"字段中.

别忘了更改函数名称的开头!

玩得开心!

  • 这段代码的改进是为了隐藏标签`$ form ['name'] ['#title_display'] ="隐形"; $ form ['pass'] ['#title_display'] ="隐形";` (4认同)