3

フォーム AJAX 検証に使用する小さな jQuery プラグインがあります。検証/送信プロセスのすべての「段階」について呼び出しスクリプトに警告するコールバックがあります。

いくつかのスニペット:

(function ($) {
    $.fn.formHelper = function (options) {
        // settings options etc
        var stage = { Start: 1, ErrorReceived: 2, AllErrorsReceived: 3, NoErrors: 4 };
        // rest of the plugin
    };
})(jQuery);

$("#some_button").formHelper({
    StageCallback: someCallbackHandler;
});

function someCallbackHandler(stage) {
    switch(stage) {
        case 1: alert("Starting validation"); break;
        case 2: alert("Error received"); break;
        case 3: alert("All errors received"); break;
        case 4: alert("No errors"); break;
    }
}

質問: プラグインのステージ変数を公開して、このように使用できるようにするにはどうすればよいですか (数値を使用するよりも読みやすいです)。

function someCallbackHandler(stage) {
    if (stage == $.formHelper.stage.Start)
        alert("Starting validation");
}

「$.formHelper.stage.Start」の表記は正確ではないと思いますが、私の主張が正しかったことを願っています。

4

1 に答える 1

4

あなたの表記は問題ありません:

(function ($) {
    $.formHelper = {
      stage: { Start: 1, ErrorReceived: 2, AllErrorsReceived: 3, NoErrors: 4 }
    };
    $.fn.formHelper = function (options) {
        // settings options etc
        var stage = $.formHelper.stage;
        // rest of the plugin
    };
})(jQuery);
于 2010-03-11T08:30:58.640 に答える