我在代码中发现了一些奇怪的东西,我通过选择带有$('form')的元素来解决它,但是我的页面上可能有一个或多个表单以避免全局选择,我只想选择一个特定的表单元素。
我的问题是从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
获取它