javascript - 无法获得 Kendo UI 表单的序列化数组

标签 javascript jquery ajax kendo-ui

我有一个简单的表单,其中有一个带有一种输入类型和按钮的表单元素。

当我点击按钮时,我正在尝试使用获取表单数据

var fData = $("#test").serializeArray();

但是由于某些原因,我无法获得任何形式的值。

这可能是什么原因?

JSFiddle Demo

最佳答案

有几个问题。首先,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>

Example fiddle

或者您可以将代码设置为在表单的submit 事件下运行,并使用preventDefault 停止标准表单提交:

$("#test").submit(function (e) {
    e.preventDefault();
    alert('ok');
    var fData = $(this).serializeArray();
    alert('rData  ' + fData);
});

Example fiddle

关于javascript - 无法获得 Kendo UI 表单的序列化数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27166697/

相关文章:

jquery - 强制 jQuery 就绪 block 在所有其他就绪 block 之后运行

javascript - 按下按钮时如何模拟按下不同的按钮?

php - Codeigniter中通过ajax将数据传递给 Controller

javascript - 从每个标签 onclick 获取 ID

javascript - 如何创建一个可以作用于 future 元素的函数?

javascript - 如何将输入中的单词添加到另一个输入表单

jquery - 为什么这个 jQuery AJAX PUT 在 Chrome 中有效,但在 FF 中无效

javascript - HTML/PHP 表单到 XML

javascript - 如何验证变量实际上是 joi 模式?

javascript - 使用对象选择根元素后,如何选择子元素?