【发布时间】:2010-12-22 16:31:21
【问题描述】:
我有一个表单,我想在提交之前对其进行特殊处理。
我知道我可以使用 JQuery 捕获“提交”事件,但是如何更改从回调中实际提交的值?
【问题讨论】:
标签: javascript jquery html forms
我有一个表单,我想在提交之前对其进行特殊处理。
我知道我可以使用 JQuery 捕获“提交”事件,但是如何更改从回调中实际提交的值?
【问题讨论】:
标签: javascript jquery html forms
有几个选项:您可以在实际提交之前替换表单字段。您可以为此使用添加的隐藏字段。我特别不喜欢这个选项,因为您可能会遇到验证问题,您必须撤消更改。
您可以通过 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
});
});
【讨论】: