Javascript 将复选框formfields转换为表单提交的名称-值对
我有一堆复选框,我必须提交到服务器端脚本,我不能更改。服务器需要scriptname?town=townA&town=townB等格式的值。我的复选框(动态生成)具有城镇名称,因此当前在我的查询字符串中显示为Javascript 将复选框formfields转换为表单提交的名称-值对,javascript,jquery,forms,web,checkbox,Javascript,Jquery,Forms,Web,Checkbox,我有一堆复选框,我必须提交到服务器端脚本,我不能更改。服务器需要scriptname?town=townA&town=townB等格式的值。我的复选框(动态生成)具有城镇名称,因此当前在我的查询字符串中显示为scriptname?townA=On&townB=On等 我希望在发布表单数据之前使用jQuery捕获表单数据,以便将格式从一种更改为另一种。我一直在尝试使用以下代码执行此操作,但无法使其正常工作: $("#frmmap").click(function () { var myar
scriptname?townA=On&townB=On
等
我希望在发布表单数据之前使用jQuery捕获表单数据,以便将格式从一种更改为另一种。我一直在尝试使用以下代码执行此操作,但无法使其正常工作:
$("#frmmap").click(function () {
var myarr = $('#myform').getFormValues();
$.each(myarr, function (key, value) {
alert(key + ": " + value);
});
$("#frmmap").submit();
});
jQuery.fn.getFormValues = function () {
var formvals = {};
jQuery.each(jQuery(':input', this).serializeArray(), function (i, obj) {
if (formvals[obj.name] == undefined)
formvals[obj.name] = obj.value;
else if (typeof formvals[obj.name] == Array)
formvals[obj.name].push(obj.value);
else formvals[obj.name] = [formvals[obj.name], obj.value];
});
return formvals;
复选框值需要来自哪里?当一个复选框有一个
值时
您将不会得到“On”
您将在选中该复选框时得到该值。可以简单地使用serialize()
在您设置了值Hanks之后,您为我指明了正确的方向,我只需要将值设置到城镇,它就起作用了。