0

こんにちは私はonblurとonfocus関数を機能させようとしていますが、それらは正しいことをしていないようです-フィールド「fullname」が空かどうかを言い、フィールドに「FullName」を配置しようとしています誰かが何かを入力した場合は、そのままにしておきます。現時点では、「フルネーム」と表示されている場合はフィールドをクリアし、空の場合は「フルネーム」を入力します。しかし、私の問題は、誰かが何かを入力すると、フィールドに「フルネーム」が入力され続けることです。

これが私が使っているコードです

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

からの値.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 に答える