无法获得Kendo UI Form的序列化数组

时间:2014-11-27 09:04:21

标签: javascript jquery ajax kendo-ui

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

当我点击按钮时,我正在尝试使用

获取表单数据
var fData = $("#test").serializeArray();

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

这可能是什么原因?

JSFiddle Demo

1 个答案:

答案 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>

Example fiddle

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

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

Example fiddle