0

嗨,我正在尝试让我的 onblur 和 onfocus 功能正常工作,但它们似乎没有做正确的事情 - 我想说如果“全名”字段为空,然后在该字段中放置“全名”如果有人输入了某些内容,请保持原样。目前,如果它显示“全名”,它会清除该字段,如果它为空,则将“全名”放入。但我的问题是,每当有人在其中输入任何内容时,它都会在该字段中输入“全名”。

这是我正在使用的代码

function doFocusNew() { if ($('.fullname').val() != null && $('.address').val() != null) { $('.fullname').val('' ) } };

function doBlurNew() { if ($('.fullname').val() != null && $('.address').val() != null) { $('.fullname').val('Full姓名') } };

干杯杰米

4

1 回答 1

0

from 的值.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 上。

于 2010-06-21T16:51:39.043 回答