3

MVC4 プロジェクトで必要な JavaScript ファイル ( jquery-1.9.1.jsjquery.validate.min.jsjquery.validate.unobtrusive.min.js ) と構成を使用して jQuery 検証を使用します。私がやりたいことは、フォームを送信する前に検証することです。フォームが有効な場合、メソッドが呼び出されて送信されます。そうでない場合は送信されず、単にアラートが表示されます。フォームを送信せずに Call JQuery Validate Pluginの手順に従いました特にjQueryの公式ページには、同様のトピックがたくさんあります。しかし、どういうわけか、Validate() および Valid() メソッドを実行すると、未定義のようなエラーが発生しました。問題は Validate() メソッドに関連していると思います。さまざまな種類の jquery-1.xxjs ファイルを試しましたが、結果は同じです。以下の方法と同様の方法を使用してフォームを検証するにはどうすればよいですか? それとも何か?

script type="text/javascript">
$(function () {
        $("#submitbtn").click(function () {
            var form = $("#myForm");
            form.validate();
            var isValid = form.valid();

            if (isValid) { //If there is no validation error
                alert('form is valid - not submitted');
            } 
            else {
                alert('form is not valid');                               
        }
    });
});

4

3 に答える 3

0

表示された正確なエラー メッセージは何ですか? jquery を正しく参照していない可能性があります。次のような簡単なjquery呼び出しを試してくださいalert($("#myInput").val());

于 2013-10-29T00:59:58.830 に答える
0

どうもありがとうございました。最後に、次のサイトに投稿されたスピナーの例と検証方法を組み合わせることができました。

意見:

<style type="text/css">
#loading {
    display: none;
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: rgba(255,255,255,0.8);
    z-index: 1000;
}

#loadingcontent {
    display: table;
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
}

#loadingspinner {
    display: table-cell;
    vertical-align: middle;
    width: 100%;
    text-align: center;
    font-size: larger;
    padding-top: 80px;
}
</style>


$(function () {        
    //Waiting spinner for long-running form submits using jQuery
    $("#submitbtn").click(function () {

        var form = $("#addForm");
        form.validate();

        if (form.valid()) {
            $("#loading").fadeIn();
            var opts = {
                lines: 12, // The number of lines to draw
                length: 7, // The length of each line
                width: 4, // The line thickness
                radius: 10, // The radius of the inner circle
                color: '#000', // #rgb or #rrggbb
                speed: 1, // Rounds per second
                trail: 60, // Afterglow percentage
                shadow: false, // Whether to render a shadow
                hwaccel: false // Whether to use hardware acceleration
            };
            var target = document.getElementById('loading');
            var spinner = new Spinner(opts).spin(target);
        }
    });
});


<div id="loading">
    <div id="loadingcontent">
        <p id="loadingspinner">
            Waiting...
        </p>
    </div>
</div>
于 2015-01-11T19:17:05.843 に答える