Próbuję dodać widoczny tekst do pola hasła z napisem "Wprowadź hasło", a po kliknięciu tekst zostanie wyczyszczony i wpiszesz kropki. Mam dwa wejścia jednego z typów = tekst i inne hasło. Wprowadzanie hasła jest ukryte od początku, ale pojawia się po kliknięciu wejścia za pomocą instrukcji "Wprowadź hasło".Jquery, jeśli pole hasła jest puste
Czyni to http://mudge.github.com/jquery_example/, ale próbuję zrobić to dla pól hasła.
HTML
<input type="text" id="password_instructions" />
<input type="password" id="password" />
jQuery
var $password = $('#password');
$password.hide(); //hide input with type=password
$("#password_instructions").click(function() {
$(this).hide();
$('#password').show();
$('#password').focus();
if ($password.val().length === 0) { //if password field is empty
$password.focusout(function() { //when clicking outside empty password input
$(this).hide();
$('#password_default_value').show();
$('#password_instructions').default_value('Enter a password'); //will clear on click
});
}
});
Co nie działa:
Po wypełnieniu wejście hasło (z kropki pojawiające się) i kliknij na wejście jest ukryte i wyświetlane jest wejście #password_instruction. Więc nie jest to zgodne z pustym stwierdzeniem. Z jakiegoś powodu traktuje dane wejściowe jako puste, nawet jeśli wpisałem hasło.
Co ja tu robię źle?
Jaką wersję jQuery używasz? –
Najnowszy. Czemu? – CyberJunkie
Ach, myślałem, że przeczytałem coś o '.val()' w nowym, ale dotyczyło to '.attr()'. Bez obaw. :) –