0

フォームはsubmitimgであり、return falseを呼び出していても私のコードです

$(document).ready(function() {
    $('.submit').click(function() {
        $('.hour').each(function() {
            var $hours = $(this).val();
            if ($hours == "") {
                alert(" Active Time is required");
                return true;
            }
        });
    });
});​

送信ボタン

 <input type="submit" class="submit" name="Submit" id="Submit" value="Submit" 
onclick="return validateForm();"/>
4

4 に答える 4

1

.eachコールバック関数の外に戻る必要があります。

于 2012-11-21T12:02:54.870 に答える
0
$('.submit').click(function() {
var r = false;
 $('.hour').each(function() {
            var $hours = $(this).val();
            if ($hours == "") {
                alert(" Active Time is required");
                r = true;
            }
        });
return r;
});
于 2012-11-21T12:03:10.440 に答える
0
<script>

    $(document).ready(function(){
        $('.submit').click(function(e){ 
    var flag = false;
            $('.hour').each(function() {
                var $hours =  $(this).val();
                if (!flag && $hours == "")
                {
                    flag = true;
                    alert(" Active Time is required"); 
                    e.preventDefault();
                } 
            });   
        });
    });

</script>

送信ボタン

<input type="submit" class="submit" name="Submit" id="Submit" value="Submit" />
于 2012-11-21T12:23:33.393 に答える
0

送信ボタンにバインドされたクリック イベント ハンドラーからは何も返されません。.filter()メソッドを使用して要素のセットを値のないものに減らすことで、コードを大幅に短縮できます.hour。また、イベント ハンドラーから結果の要素セットの長さのチェック結果を返して、フォームの送信を許可/防止することができます。 :

$(".submit").click(function () {
    // This return statement returns from the click event handler
    return $(".hour").filter(function () {
        // This one returns from the filter callback (once for each element)
        return this.value === "";
    }).length === 0;
});​

これが実際のです。

于 2012-11-21T12:08:15.813 に答える