我有一个表单,一堆输入和提交按钮。一些输入是动态添加和删除的。其中一些可能(或可能没有)被禁用,但我仍然需要获取服务器的值。
所以我必须为按钮添加一个处理程序,并手动收集已禁用输入的值,并将它们添加到其他启用状态。投入。但是我不喜欢那样,因为它似乎太复杂了(因为有些输入被动态添加/删除)。
我还可以为每个可以禁用的输入添加隐藏输入,但仍然有点复杂。
我想要的是1
。但是,我不希望手动枚举jquery 选择器启用的输入,而是想让所有值一次性被发送到服务器 jquery函数可能或通过任何其他方式。 然后手动(通过选择器)将禁用输入中的值相加。这可能吗?
答案 0 :(得分:0)
您可以使用jQuery .serialize()
。
函数的一般结构看起来像这样
var mydata = $("#myform").serialize();
$.ajax({
type: "POST",
url: "ajaxurl",
data: mydata,
dataType: "json",
success: function(data) {
...
}
});
所以我只是觉得你有一个如何获得禁用字段的问题。您可以使用此主题中建议的功能:
Disabled fields not picked up by serializeArray
为了完成答案,我将从那里复制插件。
用法如下:
var data = $('form').serializeAllArray();
这是插件本身:
(function ($) {
$.fn.serializeAllArray = function () {
var obj = {};
$('input',this).each(function () {
obj[this.name] = $(this).val();
});
return $.param(obj);
}
})(jQuery);
答案 1 :(得分:0)
您可以在提交处理程序中使用以下策略: