无法获取剑道 UI 表单的序列化数组

Not able to get serialized Array of Kendo UI Form

本文关键字:表单 序列化 数组 UI 获取      更新时间:2023-09-26

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

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

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>

示例小提琴

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

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

示例小提琴