您好我正在努力让我的onblur和onfocus功能正常工作,但它们似乎没有做正确的事情 - 我试图说明字段“fullname”是否为空然后放置“Full Name”在现场,如果有人输入了东西,请保持原样。目前它清除了字段,如果它显示“全名”,如果它是空的,它会输入“全名”。但我的问题是,每当有人在其中输入任何内容时,都会在字段中输入“全名”。
这是我正在使用的代码
function doFocusNew(){ if($('。fullname')。val()!= null&& $('。address')。val()!= 空值) { $( '全名 ')。VAL('') } };
function doBlurNew(){ if($('。fullname')。val()!= null&& $('。address')。val()!= 空值) { $('。fullname')。val('全名') } };
干杯杰米
答案 0 :(得分:0)
来自.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版本。