2

コードに奇妙なものを見つけました。$('form')で要素を選択することで解決しましたが、グローバルに選択しないようにページに1つ以上のフォームが存在する可能性があり、特定のフォーム要素を選択したいだけです。

私の問題はserialize()から始まり、IDセレクターを使用して特定のフォームを選択することはできますが、.submitイベント中にシリアル化できません。しかし、ID($( "#formid"))のフォームを選択した場合、serialize()はフォームの送信では機能しません。

私のJSコードは:

var entrylist = $('form');  //<< if I put $("#entrylist) here, 'data' displays null.
  entrylist.submit(function(e){
  e.preventDefault();
  var data = JSON.stringify($(this).serializeObject())
  console.log(data);
});

そして形は:

<form id="entrylist" action="" method="post">
 <textarea name="inputarea"></textarea>
 some more inputs.. bla bla
</form>

$('form')の結果

{"inputarea":"brobrobrobro","thread_id":"399196","csrf_token":"aIw3dXzCbJGp4c32PzPeo9pVDKwTkCuQotyRWVll"}

$('#entrylist')の結果

{}

注:serializeObjectは、https://stackoverflow.com/a/1186309/1932414から取得したカスタム関数です。

4

0 に答える 0