2

以下のスクリプトでは、フォームを送信せずに、検証エンジンの成功イベント (すべてのフォーム要素の検証基準が満たされている) を取得しようとしています。

アイデアは、検証が満たされるまで送信ボタンを無効にすることです。その後、有効にしたいと思います。(私が見たvalidationEngineの例では、フォームを送信するために送信ボタンを有効にする必要があり、送信後に検証されているようです)

ただし、validate() 関数で「有効な」メソッドを起動することはできません。私が間違っていることはありますか?

    $(document).ready(function() {
        /* disable the submit button until required form elements are enabled */ 
        $('#btnEcommidEdit').attr('class','button disabled');
        $('#btnEcommidEdit').attr("disabled","disabled");

        /* initiate validation */
        $("#form1").validationEngine(
        {
            inlineValidation: true
        });

        /* check form elements to enable submit button */
        $('#email2,#confirm1,#confirm2').change(function() {
            validate();
        });
    });

    function validate(){
        var valid = $("#form1").validationEngine();
        if (valid)
        $("#btnEcommidEdit").attr('disabled','');
        else
        $("#btnEcommidEdit").attr("disabled","disabled");
        }
4

2 に答える 2

1

このイベントを使用して、フォームが有効かどうかをキャッチします。

submitHandler: function (form) {
    // for demo
    if ($(form).valid()) {
        // valid
    } else {
        //do some error handling
    }
    return false; // to not submit form
}

または単純な使用$(form).valid()

于 2013-12-18T19:00:17.723 に答える
1
function validate(){
    alert("validate");
    var valid = $("#form1").validationEngine();
    alert('Validation Engine returned : ' + valid);
    if (valid == true) {
        $("#btnEcommidEdit").prop("disabled",false);
        $("#form1").submit();
    } else {
        $("#btnEcommidEdit").prop("disabled",true);
        return false;
    }
于 2013-10-24T01:44:11.340 に答える