gpt4 book ai didi

jQuery .serializeArray() 返回空数组

转载 作者:行者123 更新时间:2023-12-03 22:56:51 27 4
gpt4 key购买 nike

我正在使用 Jquery 和 Backbone 来构建我的应用程序。最近我用 require.js 重写了 AMD 架构的项目。然后开始出现发布表单的问题。这是我的表格:

*<div data-role="page" id="login" data-theme="a">
<form class="loginPageForm">
<div data-role="content" style="padding: 15px">
<h3 id="login_heading">
Login
</h3>
<div data-role="fieldcontain">
<fieldset data-role="controlgroup" id="email_fieldset">
<label for="email_textinput" >
Email
</label>
<input id="email_textinput" placeholder="john@doe.com" value="" type="text" />
</fieldset>
</div>
<div data-role="fieldcontain">
<fieldset data-role="controlgroup" id="password_fieldset">
<label for="password_textinput">
Password
</label>
<input id="password_textinput" placeholder="Secret Password" value="" type="password" />
</fieldset>
</div>
<input type="submit" class="btn" value="Login"/>
<a data-role="button" data-transition="none" data-theme="f" href="#register" id="registerButton">Register</a>
</div>
</form>
</div>*

我正在使用:

  **$.fn.serializeObject = function(){
var arrayData, objectData;
arrayData = $(this).serializeArray();
objectData = {};
$.each(arrayData, function() {
var value;

if (this.value != null) {
value = this.value;
} else {
value = '';
}

if (objectData[this.name] != null) {
if (!objectData[this.name].push) {
objectData[this.name] = [objectData[this.name]];
}

objectData[this.name].push(value);
} else {
objectData[this.name] = value;
}
});

return objectData;
}**

用于创建 Json.. 问题是行 $(this).serializeArray();它返回一个空数组:$(this).serializeArray(): 数组[0]长度:0原型(prototype):数组[0]

我的对象“this”看起来像:

arrayData: Array[0]
objectData: undefined
this: v.fn.v.init[1]
0: form.loginPageForm
0: fieldset#email_fieldset
1: input#email_textinput
2: fieldset#password_fieldset
3: input#password_textinput
4: input.btn

您知道我应该如何避免这个问题吗?这种形式在我使用 AMD 架构之前就可以工作?

最佳答案

您的表单元素没有名称属性。当您提交表单时,元素的值将以其名称作为键发布到服务器。所以名字很重要。

根据jQuery serializeArray Docs

The .serializeArray() method uses the standard W3C rules for successful controls to determine which elements it should include; in particular the element cannot be disabled and must contain a name attribute. No submit button value is serialized since the form was not submitted using a button. Data from file select elements is not serialized.

关于jQuery .serializeArray() 返回空数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14887509/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com