-1

jQueryで入力ボタンをクリックするだけでAJAXPOSTリクエストを行う関数を書いています。ボタンのクリック機能はで定義されてい$(document).ready()ます。私が気付いているのは、ボタンがクリックされたときに、textareaからプルされたテキストが、入力されたデフォルトのテキストであり、ユーザーが変更したテキストではないということです。コードスニペットは次のとおりです。

$(document).ready(function() {

  $('#add-note-button').click(function() {
    var note_data = {};
    note_data["notetext"] = $('#notetext').text();
    alert($('#notetext').text());
    note_data["author"] = 123;

    $.ajax( {
      type:'POST',
      url:'/myapp/post_note/1/',
      data:note_data,
      success: function(data){
      }
    });
  });
});

後でHTMLで:

<textarea id="notetext">Add status update... </textarea>
<input id='add-note-button' type='submit' value="Save"/>

上記alert($('#notetext').text());の関数からは、click()「ステータス更新の追加...」のみが表示され、テキストエリアに入力しているテキストは表示されません。

助けに感謝します!

4

1 に答える 1

3

使用する

$('#notetext').val();

それ以外の

$('#notetext').text();

この.val()メソッドは、フォーム要素の現在の値を取得します。

于 2013-01-09T08:09:19.960 に答える