我有一个简单的表单,我有一个带有一个输入类型和按钮的表单元素。
当我点击按钮时,我正在尝试使用
获取表单数据var fData = $("#test").serializeArray();
但由于某些原因,我无法获得任何形式的值。
这可能是什么原因?
答案 0 :(得分:3)
有几个问题。首先,input
没有name
属性,因此无法序列化。其次,您创建名为fData
的变量,但是log fdata
- JS区分大小写。最后,当单击按钮时,表单将以通常的方式提交,这意味着在第一个alert
之后将禁止处理。为防止这种情况,您可以将按钮更改为标准类型,而不是提交按钮:
<form id="test" method="POST">
<p>
<input id="val" name="foo" />
</p>
<button class="k-button" id="rset" type="button">submit</button>
</form>
或者您可以将代码设置为在表单的submit
事件下运行,并使用preventDefault
停止标准表单提交:
$("#test").submit(function (e) {
e.preventDefault();
alert('ok');
var fData = $(this).serializeArray();
alert('rData ' + fData);
});