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