我有一张表格,我希望在提交之前对其进行特殊处理。
我知道我可以抓住"提交"使用JQuery的事件,但是如何更改回调中实际提交的值?
答案 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
});
});