2016-03-23 10 views
2

フォーム内の無効な入力を消去しない方法。有効な入力のみをクリアする必要があります。私はこのコードを使用します:フォーム内の無効な入力をクリーニングしない方法

すべてのフィールドを消去します(有効と無効)。私は.find ('input:enabled:not([disabled])').find('input:enabled')を追加しました。その後、このクリーニングは機能しません。

+1

'.find( '入力:有効')を使わないのはどうですか?(":disabled ")'代わりに...? –

答えて

3

あなたform内のすべてのinputtextareaselectbutton要素を取得するために:inputセレクタを使用して、:enabledセレクタできます。また、prop()を使用し、属性を削除する代わりにcheckedfalseと設定し、属性セレクタの代わりにidセレクタを使用してformを取得することをお勧めします。 :enabledアイテムをフィルタリングして、お探しのものが見つかりませんなぜ

$('#addFromReport button:reset').click(function(e) { 
    e.preventDefault(); 
    $('#addFromReport') 
     .find(':radio, :checkbox').prop('checked', false).end() 
     .find(':input:enabled').val(''); 
}); 
1
$('form[id="addFromReport"] button:reset').click(function() { 
       $('form[id="addFromReport"]') 
        .find(':radio, :checkbox').removeAttr('checked').end() 
        .find(':input:enabled').val(''); 

       return false; 
      }); 
+0

これは 'input'要素だけを取得することに注意してください。 –

1
$('form[id="addFromReport"] button:reset').click(function() { 
    $('form[id="addFromReport"]').filter(':enabled') 
     .find(':radio, :checkbox').removeAttr('checked').end() 
     .find('textarea, :text, select').val(''); 

    return false; 
}); 

はこれを試してみてください。希望すると助けてくれるでしょう

関連する問題