jQueryの検証(テストの例)のフォームがあります。それ以上の検証エラーがなくなるまで、すべてが「OK」になり、何かがフォームの送信を妨げています。私の目にはコード内のすべてがうまくいくようですが、うまくいきません。何か案は?どうも。jQueryの検証 - フォームが送信されないようにしています
マイコード:
$(document).ready(function() {
$("#submit").click(function (event) {
event.preventDefault();
$("#dialog-input").html("");
var input1 = $('#input1').val();
var input2 = $('#input2').val();
var input3 = $('#input3').val();
var valid = true;
if (input1 == ""){
$('.in1').removeClass('valid').addClass('error');
$("#dialog-input").append("<p>Empty Input 1</p>");
valid = false;
}
else { $('.in1').removeClass('error').addClass('valid'); }
if (input2 == "") {
$('.in2').removeClass('valid').addClass('error');
$("#dialog-input").append("<p>Empty Input 2</p>");
valid = false;
}
else { $('.in2').removeClass('error').addClass('valid'); }
if (input3 == "") {
$('.in3').removeClass('valid').addClass('error');
$("#dialog-input").append("<p>Empty Input 3</p>");
valid = false;
}
else { $('.in3').removeClass('error').addClass('valid'); }
if(!valid){
$(function() {
$("#dialog-input").dialog({
modal: true,
buttons: {
Ok: function() {
$(this).dialog("close");
}
}
});
});
}
else{ return valid; }
});
});
の作業jsfiddle:https://jsfiddle.net/nitadesign/rwe2ywrs/7/
jsfiddleは、スクリプト全体と形だけの短いバージョンです。
前ライン
$('this').closest('form').submit()
を追加しますか? – Icemanあなたのロジックが間違っています。あなたは 'event.preventDefault();'を使ってフォームを投稿できないようにしています。あなたが望むのは、有効であれば真、妥当でなければ偽を返すことです。 https://jsfiddle.net/rwe2ywrs/11/ –