我有一个简单的表单,其中有一个带有一种输入类型和按钮的表单元素。
当我点击按钮时,我正在尝试使用获取表单数据
var fData = $("#test").serializeArray();
但是由于某些原因,我无法获得任何形式的值。
这可能是什么原因?
最佳答案
有几个问题。首先,input
没有name
属性,因此无法序列化。其次,您创建了名为 fData
的变量,但是记录 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);
});
关于javascript - 无法获得 Kendo UI 表单的序列化数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27166697/