1
我有一個Django ModelForm,但不希望用戶點擊reguar提交按鈕。 取而代之,我創建了自己的提交按鈕,並將使用Ajax/jQuery發佈表單數據。 要發佈的數據是表單數據和我在用戶界面上收集的其他信息的混合。 但是...我如何獲得格式化的POST數據HTML格式應該提交? 如果我能像JSON或jQuery對象那樣獲得它,那麼更好!如何獲取Django表單的格式化POST數據?
我有一個Django ModelForm,但不希望用戶點擊reguar提交按鈕。 取而代之,我創建了自己的提交按鈕,並將使用Ajax/jQuery發佈表單數據。 要發佈的數據是表單數據和我在用戶界面上收集的其他信息的混合。 但是...我如何獲得格式化的POST數據HTML格式應該提交? 如果我能像JSON或jQuery對象那樣獲得它,那麼更好!如何獲取Django表單的格式化POST數據?
您可以使用jQuery.serialize()
,然後您可以將其作爲jQuery.post()
的第二個參數傳遞。
$('#formid').submit(function() {
$.post('serverUrl', $(this).serialize(), callbackFunction);
return false;
});
另外,您也可以使用jQuery Form plugin這一點,這使得東西容易。
好!但我需要這個混合序列與其他物體如{參數1:1,參數2:2} 的另一個問題是,當我創建一個
1.你可以在post調用之前把'$(this).serialize()'變成一個javascript對象,並手動添加字段;真的,不,不。 '$ .post'是一個AJAX提交,'return false'表示不執行該表單的默認提交操作。 – 2010-07-09 08:14:23
@羅傑,@丹尼爾是對的。做一些類似'var data = $(this).serialize(); data.param1 = 1;'。 'return false;'應該阻止窗體的默認動作。 – BalusC 2010-07-09 10:48:22