【发布时间】:2017-03-29 15:05:13
【问题描述】:
我有这个函数应该从我的表单提交序列化的值。
使用document.getElementById(form_id) 我得到正确的表单和值,如果我用data = $(form).serialize(); 序列化此表单,则值不正确。
其他问题的答案表明名称或被禁用的字段是原因,但这里不是这种情况。
这里是我的函数,结果来自 console.log。
var submit_form = function(form_id){
form = document.getElementById(form_id);
console.log(16, form);
data = $(form).serialize();
console.log(17, data);
url = "/routmeda/checklist/" + form_id
$.post( url, data, function( data ) {storeLogo.reload();} );
}
未选中“aanvraagformulier”复选框。
这里是第 16 行控制台上的输出,正确
从第 17 行开始,serialize 表示复选框已打开,这是加载表单时的情况。
如何获得正确的序列化?
【问题讨论】:
-
表单中是否还有其他同名的复选框?我听说某处的复选框没有完全正确地通过
serialize()函数。 -
您是使用 javascript 还是在浏览器中手动检查复选框?如果您使用的是 javascript,我们可以查看执行此操作的代码吗?
-
通过在浏览器中单击,它是唯一具有该名称的字段或复选框
-
@PraveenKumar 当我在网上的示例中尝试这个时,就像你的 jsbin 一样,这可以正常工作,这很难在网上重现
标签: javascript jquery forms serialization extjs