drupal_add_js behaviors javascript php css forms drupal-7

javascript - drupal_add_js - drupal behaviors



Cómo configurar un marcador de posición en drupal 7 en un formulario de inicio de sesión (3)

Necesito establecer un marcador de posición para un formulario de inicio de sesión horizontal en Drupal 7. Este texto debe desaparecer cuando se hace clic en. Solo dirán ''nombre de usuario'' y ''contraseña''. Aquí está el código para el formulario a partir de ahora. ¡Gracias!

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, );


Considere el uso de este módulo https://www.drupal.org/project/form_placeholder implementa un marcador de posición HTML 5 y para los navegadores más antiguos, los navegadores más antiguos que no son compatibles con el atributo de marcador de posición HTML5 utilizan el complemento jQuery Placeholder de Mathias Bynens ".


Esto es cómo hacerlo en HTML5, utilizando el atributo HTML de marcador de posición. Sin embargo, no funciona en ninguna versión de 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'')) );


Otra forma sencilla es agregar esta función a su plantilla de temas.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'' ); } }

Esto agregará marcadores de posición HTML5 a los campos Nombre de usuario y Contraseña en ambos formularios de inicio de sesión.

¡No olvides cambiar el principio del nombre de las funciones!

¡Que te diviertas!