2010-07-08 66 views
1

我有一個Django ModelForm,但不希望用戶點擊reguar提交按鈕。 取而代之,我創建了自己的提交按鈕,並將使用Ajax/jQuery發佈表單數據。 要發佈的數據是表單數據和我在用戶界面上收集的其他信息的混合。 但是...我如何獲得格式化的POST數據HTML格式應該提交? 如果我能像JSON或jQuery對象那樣獲得它,那麼更好!如何獲取Django表單的格式化POST數據?

回答

1

您可以使用jQuery.serialize(),然後您可以將其作爲jQuery.post()的第二個參數傳遞。

$('#formid').submit(function() { 
    $.post('serverUrl', $(this).serialize(), callbackFunction); 
    return false; 
}); 

另外,您也可以使用jQuery Form plugin這一點,這使得東西容易。

+0

好!但我需要這個混合序列與其他物體如{參數1:1,參數2:2} 的另一個問題是,當我創建一個

對象,每當我調用$。員額(),它實際上會後我的形式,重裝頁面,這是不好的! – Roger 2010-07-09 00:31:47

+0

1.你可以在post調用之前把'$(this).serialize()'變成一個javascript對象,並手動添加字段;真的,不,不。 '$ .post'是一個AJAX提交,'return false'表示不執行該表單的默認提交操作。 – 2010-07-09 08:14:23

+0

@羅傑,@丹尼爾是對的。做一些類似'var data = $(this).serialize(); data.param1 = 1;'。 'return false;'應該阻止窗體的默認動作。 – BalusC 2010-07-09 10:48:22

相關問題