2010-12-22 109 views
2

我有一個表單,我想在提交之前對其進行特殊處理。更改提交表格的內容提交

我知道我可以使用JQuery捕獲「提交」事件,但是如何更改實際從回調內提交的值?

回答

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 
    }); 
});