2

次の行に沿ったhtmlのフォームフィールドがあります。

<form id="tasklist">
  <input type="text" id="name" ...></input>
  ... more form elements here ...
</form>

私のjQueryコードで、これらのフォーム要素の値を取得したいのですが、次のコードで何が間違っているのかわかりません:

$(document).ready(function(){
  $("#tasklist").submit(function(){
    alert($("#name").val()); // This does not alert anything on form submit
  });
});

すべての HTML ID が一意であること、JavaScript コードがドキュメントの下部のスクリプト タグ内に配置されていること、およびそこに配置されたその他のアラートが機能することを確認しました (つまり、alert("hello world"); を送信メソッドの前に配置します)。

私はstackoverflowでこのような他のいくつかの質問を見てきまし.

何か案は?

4

2 に答える 2

2

フォームが送信されると、ページがリロードされます。あなたはそれを防ぐ必要があります!

$(document).ready(function(){
  $("#tasklist").on('submit', function(e){
     e.preventDefault();
     alert( $("#name").val() );
  });
});

そして、機能を適切に閉じてください!

于 2013-02-26T14:53:03.493 に答える
1

タイプミスがあります: 関数が閉じられていません。JS エラーが発生し、スクリプトの実行が停止する可能性があります。

試す :

$(document).ready(function(){
  $("#tasklist").submit(function(){
    alert($("#name").val()); // This does not alert anything on form submit
  });
});

アップデート

基本的なフィドルの例: http://jsfiddle.net/UQTY2/28/

于 2013-02-26T14:53:15.167 に答える