Sé que hay un montón de preguntas, pero estoy tratando de perfeccionar el mío.Mostrando el texto del marcador de posición para el campo de contraseña en IE
Mi código actual funciona muy bien y hace lo que se supone que debe hacer. El problema es que cuando voy a colocar el marcador de posición de "contraseña", coloca el marcador de posición en los caracteres de enmascaramiento. ¿Alguna idea sobre cómo evitar eso?
$(function() {
if(!$.support.placeholder) {
var active = document.activeElement;
$(':text').focus(function() {
if ($(this).attr('placeholder') != '' && $(this).val() == $(this).attr('placeholder')) {
$(this).val('').removeClass('hasPlaceholder');
}
}).blur(function() {
if ($(this).attr('placeholder') != '' && ($(this).val() == '' || $(this).val() == $(this).attr('placeholder'))) {
$(this).val($(this).attr('placeholder')).addClass('hasPlaceholder');
}
});
$(':text').blur();
$(active).focus();
$('form').submit(function() {
$(this).find('.hasPlaceholder').each(function() { $(this).val(''); });
});
var active = document.activeElement;
$(':password').focus(function() {
if ($(this).attr('placeholder') != '' && $(this).val() == $(this).attr('placeholder')) {
$(this).val('').removeClass('hasPlaceholder');
}
}).blur(function() {
if ($(this).attr('placeholder') != '' && ($(this).val() == '' || $(this).val() == $(this).attr('placeholder'))) {
$(this).val($(this).attr('placeholder')).addClass('hasPlaceholder');
}
});
$(':password').blur();
$(active).focus();
$('form').submit(function() {
$(this).find('.hasPlaceholder').each(function() { $(this).val(''); });
});
}
});
Mi campo para el pase:
<div id="loginform_pass"><input class="login" tabindex="2" type="password" placeholder="Password" name="password" maxlength="30"></div>
@Too complicado, y será difícil de mantener cuando hacemos cambios .. Gracias embargo, voy a tener en cuenta –
he usado esta técnica el año pasado para implementar un campo de texto de carga de archivos personalizado, y funcionó muy bien. Sin embargo, esa era la única opción. Estoy seguro de que hay una manera más limpia de hacer esto. – Jeremy
Suena como una gran idea en la superficie, pero tenga en cuenta que algunos navegadores (la versión actual de Firefox que tengo) no enfocan el campo cuando se hace clic en la etiqueta. Por lo tanto, si la etiqueta está sobre el campo, podría ser un problema en esos navegadores, a menos que maneje el evento click también, pero entonces no es una solución tan simple. – eselk