Значения от .val()
никогда не будут null
, они будут пустыми строками, поэтому вам нужно немного подстроиться. Я думаю вот что вы ищете:
function doFocusNew() {
if ($('.fullname').val() == 'Full Name') {
$('.fullname').val(''); //focused, "Full Name" was there, clear it
}
}
function doBlurNew() {
if ($('.fullname').val() == '') {
$('.fullname').val('Full Name'); //blurred, nothing there, put "Full Name" in
}
}
Если это текстовые поля, вот полная / компактная версия:
$(function() {
$('.fullname').focus(function() {
if(this.value === 'Full Name') this.value = '';
}).blur(function() {
if(this.value === '') this.value = 'Full Name';
});
});
Обновление: , поскольку вы добавляете их динамически:
$(function() {
$('.fullname').live('focus', function() {
if(this.value === 'Full Name') this.value = '';
}).live('blur', function() {
if(this.value === '') this.value = 'Full Name';
});
});
Убедитесь, что исправлены все ошибки, например в последней версии jQuery 1.4.2 , чтобы это работало, я вижу, что вы сейчас находитесь на версии 1.4.0.