从onChange处理程序调用时,使用错误的字段名称提交HTML表单

时间:2010-12-15 16:03:08

标签: javascript jquery html jquery-validate

在我的jQuery-validation“submitHandler”中,我正在重命名一些字段,以便它们在调用form.submit()之前具有相同的名称(这是处理表单的服务器所必需的)。

当我点击提交按钮时,这就可以找到 - 我看到正确的参数名被发送到服务器(使用wireshark)。

但是,如果表单是作为更改处理程序的结果提交的,那么当我逐步调试调试器中的代码时,字段似乎被重命名 - 但是发送到服务器的参数显示原始字段名称而不是重命名的值。

我的变更处理程序没什么特别的......

$(document).ready(function() {
  $('.autoSubmitField').bind('change', function() {
      $(this).closest("form").submit();
  });
});

知道我做错了什么吗? 为什么常规表单提交(通过提交按钮)尊重名称更改..但是通过我的onChange处理程序提交表单不是?

干杯!

1 个答案:

答案 0 :(得分:0)

似乎jQuery插件不使用onsubmit处理程序,但是在提交按钮上添加了onclick。如果是这样的话,那就是很糟糕的设计。请致电点击提交按钮,而不是致电提交。

$("#submitButtonId").click();