2011-11-09 4 views
0

入力フィールドにプレースホルダスパンを使用しています。 jQueryを使用して、フィールドに値が入力されているかどうかによってスパンを表示/非表示にします。問題:このタイプのプレースホルダをフォームに実装すると、フォームを送信した後、入力フィールドに値があるにもかかわらず、スパンが非表示になりません。検索が実行された後も、値はプレースホルダーのままです。プレースホルダが隠されるように修正する方法はありますか?絵のフォーム提出後にプレースホルダスパンを削除する

$(function() { 
    $("span.holder + input").keyup(function() { 
     if($(this).val().length) { 
      $(this).prev('span.holder').hide(); 
     } else { 
      $(this).prev('span.holder').show(); 
     } 
    }); 
    $("span.holder").click(function() { 
     $(this).next().focus(); 
    }); 
}); 

答えて

1

私は不足している可能性があり一部が、何私が想像してると、ページのリロードということである:ここでは私が使用しているjQueryのです。これは、「隠された」状態の入力プレースホルダがもう存在しないことを意味し、すべてのプレースホルダを可視にします。それと同時に、ブラウザはフィールド値を記憶しているので、それも表示されます。

私の推測が正しいならば、あなたは自分の準備ができて関数の内部でいくつかの迅速かつ簡単に余分なロジックが必要になります。

必要だったまさに
$('input').each(function() { 
    $input = $(this); 
    if($input.val().length > 0) { 
    $input.prev('span').hide(); 
    } 
}); 
+0

。本当にありがとう! – tvalent2

関連する問題