2016-02-18 17 views
5

私はthisthisを含むいくつかの投稿を読んだことがありますが、投稿後に入力フィールドをクリアできないようです。これを行うための最も基本的な/基本的な方法は何ですか?入力フィールドをリセットするにはどうすればよいですか? jQuery

現在、私は、この持っている:私のHTMLがある

$(document).ready(function(){ 
    $('form[name=checkListForm]').on('submit', function() { 
      // prevent the form from submitting 
      event.preventDefault(); 
      var toAdd = $(this).find('input[name=checkListItem]').val(); 
      $('.list').append("<div class='item'>" + toAdd + "</div>") 
      $('input[name=checkListItem').reset(); 
     }); 
}); 

<!DOCTYPE html> 
<html > 
    <head> 
    <meta charset="UTF-8"> 
    <link rel="stylesheet" href="stylesheet.css">  
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.0/jquery.min.js"></script> 
    <script type="text/javascript" src="script.js"></script> 
    </head> 
    <body> 
    <h2>To Do</h2> 
    <form name="checkListForm"> 
     <input type="text" name="checkListItem" /> 
     <button type="submit" id="button">Add!</button> 
    </form> 
    <br/> 
    <div class="list"></div> 
    </body> 
</html> 
+0

$(formselector)[0] .reset(); –

答えて

11

代わりのリセット、単にコードのこのビットを使用して、入力フィールドにブランク値を設定します。

$('input[name=checkListItem').val(''); 

特定のフォームのすべての入力をリセットするには、次のコードを使用することもできます(:inputセレクタ):

$('form :input').val(''); 
+0

すべてのフィールドを処理する1行のコードがありました。副次的な質問として、セレクタが 'input [name = checkListItem'ではなく' form [name = checkListForm'? – AlanH

+0

@AlanH:入力の値を空白にしたいので、フォームの値ではありません。 – Przemek

+0

@AlanH: 'input'セレクタは基本的にフォームコントロールを選択し、設定可能な値を持っていますが、' '$( 'form')' 'は基本的にはhtml要素自体を選択するのではなく、フォームコントロールは、 '$( 'form')'は 'input 'セレクタと違ってvalue属性を持たないので、私の最新の編集を参照してください。 – stark

0

これは機能するはずです(自分でテストしました)。

$(document).ready(function(){ 
    $('form[name=checkListForm]').on('submit', function() { 
      //other code 
      $('input[name=checkListItem]').val("") 
     }); 
}); 
0

これは私のために働いた; 〜への変更。私は

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.0/jquery.min.js"></script> 
<script> 

    $(document).ready(function(){ 
     $('form[name=checkListForm]').on('submit', function(e) { 
       // prevent the form from submitting 
       e.preventDefault(); 
       var toAdd = $(this).find('input[name=checkListItem]').val(); 
       $('.list').append("<div class='item'>" + toAdd + "</div>") 


       $('input[name=checkListItem').val(''); 
      }); 
    }); 
</script> 

<h2>To Do</h2> 
<form name="checkListForm"> 
    <input type="text" name="checkListItem" /> 
    <button type="submit" id="button">Add!</button> 
</form> 
<br/> 
<div class="list"></div> 
0

我々が提出した後に書くことができfunction(e)e.preventDefault()を使用してリセット()の代わりに$('input[name=checkListItem').val('');を使用します。

document.getElementById("myform").reset(); 
関連する問題