在提交时更改提交表单的内容

时间:2010-12-22 16:31:22

标签: javascript jquery html forms

我有一张表格,我希望在提交之前对其进行特殊处理。

我知道我可以抓住"提交"使用JQuery的事件,但是如何更改回调中实际提交的值?

1 个答案:

答案 0 :(得分:3)

有两个选项:您可以在实际提交之前替换表单字段。您可以为此添加隐藏字段。我不喜欢这个选项,因为您可能遇到验证问题,您必须撤消更改。

您可以通过AJAX发布帖子,仅发布您的值,然后根据结果采取一些适当的操作。在这种情况下,原始帖子永远不会发生。这就是我可能会做的。通过这种方式,您的原始表单保持不变,您可以处理服务器端验证,而无需撤消表单上的任何内容。

$(function() {
     $('form').submit( function() {
         var $form = $(this);
         var data = // ... generate your custom data ...;
         $.post( $form.attr('action'), data, function(result) {
              // ... do something based on result
         });
         return false; //cancel original submit
     });
});