私は、フォームに必要なフィールドをチェックするためのjQueryの機能います、私は、ページの読み込みでjQueryのポストフォーム機能は、投稿された二回
function CheckRequired(event) {
var $form = $(this);
var emptyElements = $form.find('.required').filter(function() {
return this.value === ''
});
if(emptyElements.length > 0) {
event.preventDefault();
emptyElements.addClass("EmptySelect").attr('title', 'This field is required');
//alert(emptyElements.attr("id"));
alert("One or more fields cannot be blank");
event.stopImmediatePropagation();
return false;
}
}
を実行します。すべてのフォームに関数を適用する
$('form').on('submit', CheckRequired);
。
required
クラスの入力が空の場合、この関数は正常に機能し、エラーをスローします。
私もこの機能を持っている投稿ポップアップ/モーダルボックス内のフォーム:細かすぎるここで再び
function post_form(form_id, type, redir_url, loading_modal) {
type = type || '';
redir_url = redir_url || '';
loading_modal = loading_modal || '';
$(form_id).submit(function(e) {
var formObj = $(this);
var formURL = formObj.attr("action");
var formData = new FormData(this);
CheckRequired(e);
if(loading_modal === '1') {
//do nothing
} else {
LoadModalBody('<h2 align="center">Loading...</h3><p align="center"><i class="fa fa-refresh fa-spin fa-5x"></i></p>', 'Loading');
}
$.ajax({
url : '/section' + formURL,
type: "POST",
data : formData,
mimeType:"multipart/form-data",
contentType: false,
cache: false,
processData:false,
success:function(data, textStatus, jqXHR) {
if(type === 'modal') {
if(redir_url === '') {
LoadModal('/section' + formURL, '');
} else {
LoadModal('/section' + redir_url, '');
}
} else if(type === 'reload') {
if(redir_url === '') {
location.reload();
} else {
OpenPage(redir_url);
}
} else if(type === 'body') {
LoadModalBody(data, "");
} else {
//close the loading modal
if(loading_modal === '1') {
//do nothing
} else {
CloseModal();
}
//location.reload();
//$("body").html(data);
}
},
error: function(jqXHR, textStatus, errorThrown) {
//if fails
}
});
return false;
e.preventDefault();
});
}
、CheckRequired
機能の作業が、エラーがスローされたときに入力が必要に応じて修正されますフォームは再度転記されますが、2回提出されます
私はそれをやってみるよ、が、エラーが戻ってスローされた場合、そのは二回しか提出します。最初に – charlie
を追加しようとしたときにフォームが正しく入力された場合に1回だけ送信されますが、同じことがまだ発生します。私は、エラーを与えたフィールドが欠落しているフォームに記入し、訂正して再度提出し、データを2回投稿しました。 – charlie
Ok ...だから、一度エラーが発生しても、 ? –