私は次のフォームを持っています:
<form id="squatsForm">
{% csrf_token %}
<input type="text" name="amount" id="squatsVal" value="Squats" />
<input type="hidden" name="exercise" value="squats" />
<input type="submit" id="submitSquats" value="Add Squats"/><br />
</form>
フォームを検証してから、さらに処理するためにAjaxを介してそのフォームのデータを送信したいと思います。submitHandler
フォームがPOSTリクエストで新しいページをロードするデフォルトのアクションを実行せず、代わりにAjax関数を起動するように使用しようとしています。
$(document).ready(function() {
$('#squatsForm').validate({
rules: {
amount: {
required: true,
number: true
}
},
submitHandler: function(form) {
$.post(
"submitWorkout1",
form.serialize(),
function(data) {
var jsonData = $.parseJSON(data);
$("#squats").html(jsonData['amount']);
});
}
});
ただし、フォームでデータを入力しようとすると、ページが再読み込みされ、Ajaxリクエストが実行されません。
検証を実装する前は、Ajaxリクエストは正常に機能していました。