jQuery:推送.serializeArray();中的值;
jQuery: pushing values in .serializeArray();
我正在jQuery中开发AJAX表单子模块。
我使用了.serializeArray()
函数来序列化表单,但我需要向获得的对象添加一个元素,所以我使用了push()
函数。
所以它可能看起来是这样的:
{
name: "Test",
surname: "Test",
action: "register"
}
当我序列化表单时,名称和姓氏字段将被发送,但操作字段不会被发送。我将信息发送到PHP echo函数,但与console.log()
结果一样,它将显示名称和姓氏,但不显示操作。
我尝试了.serialize()
函数,但仍然无法获得所需的内容。
这是一把小提琴。
$(document).ready(function () {
$("#register").on("submit", function (e) {
e.preventDefault();
var data = $("#register").serializeArray();
data.push({name: "action", value: "register"});
console.log(data);
jQuery.post("/echo/json/", data,
function () {
alert("Success");
},
"json");
});
});
问题是您正在发送两个请求,因此禁用表单提交:
$( '#register' ).on( 'submit', function() {
return false;
});
或者,您可以将提交按钮放在表单外。
问题是您绑定了一个事件处理程序,但并没有像默认行为那样阻止表单提交。您可以通过在事件处理程序的末尾添加return false;
来解决此问题,但也有更好的方法(在谷歌上搜索jQuery以防止表单提交)。您还需要绑定$('#register').submit
而不是$("#registerSubmit").click
(这使回车按钮也能工作)
相关文章:
- 循环结束/推送到数组之前在页面上呈现EJS
- 将值输入到对象,然后该对象推送到数组
- Firebase2(Firebase.google.com)推送通知-从外部管理
- 通过另一个php应用程序将我的项目推送到Github存储库中
- 如何在javascript中推送数组值
- 将当前用户的 ID 推送到 meteorjs 中集合/文档的内部数组
- Jquery.each数组推送不起作用
- 将子文档推送到父数组时遇到问题
- 使用COMETD将服务器推送到客户端(dojo)
- 更改第二次推送时不起作用的元素高度
- GCM推送通知,如果应用程序在手机中关闭(Phonegap Android)
- 将数据推送到JSONModel
- 将数据推送到MongoDB,而无需在MEAN中编辑整个条目
- 尝试简化检查对象键是否为true并将其推送到另一个对象
- Firebase推送;t添加但替换(JavaScript)
- 在2D数组中动态推送新列
- 是否可以使用推送通知Windows 8 Metro应用程序's使用Javascript
- 获取html表单信息并使用ajax将其推送到PHP
- 复选框:使用Array.prototype.forEach调用推送选中订单,
- 解析使用云发送推送的开源服务器