jQuery form.serialize()没有给出当前值

时间:2016-11-15 16:21:16

标签: javascript jquery forms serialization extjs

我有这个函数应该从我的表单中提交序列化值。 使用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行控制台上的输出,正确

enter image description here

从第17行开始,serialize表示复选框已打开,这是表单加载时的情况。 enter image description here

如何获得正确的血清?

1 个答案:

答案 0 :(得分:0)

我通过销毁显示表单的ExtJs窗口来解决它,看起来这个窗口上的关闭按钮之前没有这样做。 document.getElementById(form_id);给出了当前窗口/表单的值,而jQuery的选择器给出了该窗口/表单的ghost版本。 我不认为这是一个ExtJs问题,否则我会把它包括在我的问题中。感谢您的建议。