Jquery 自定義插件寫法(示例)

(function ($) {
    $.SmsHelper = $.SmsHelper || {};
    $.extend($.SmsHelper, 
        {
        //插件具體實現代碼
        yzmnum: 60,
        AjaxUrl: "/AjaxMethod/CommonSMS.ashx?key=GetSmsCode",     
        GetSmsCodeClick: function (phoneCode, obj) {
            if (phoneCode == '') {
                $.AmHelper.ShowMsg('請輸入手機號');
                return;
            }

            var reg = /^1[358]\d{9}$/;
            if (!reg.test(phoneCode)) {
                $.AmHelper.ShowMsg("手機號碼格式不正確!");
                return;
            }

            var objText = $(obj).val();
            if (objText == '') {
                objText = $(obj).text();
                if (objText.indexOf('驗證碼') > -1) {
                    $.SmsHelper.GetSmsCodeEx(phoneCode, obj);
                }
            } else {
                if (objText.indexOf('驗證碼') > -1) {
                    $.SmsHelper.GetSmsCode(phoneCode, obj);
                }
            }
        },

        //得到手機驗證碼
        GetSmsCode: function (mobile, obj) {
            $(obj).val('請稍後...' + $.SmsHelper.yzmnum);
            $(obj).attr("disabled", true);

            var yzmtime = setInterval(function () {
                $.SmsHelper.yzmnum--;
                $(obj).val('請稍後...' + $.SmsHelper.yzmnum);
                if ($.SmsHelper.yzmnum == 0) {
                    $(obj).val('獲取驗證碼');
                    $(obj).attr("disabled", false);
                    clearInterval(yzmtime);
                    $.SmsHelper.yzmnum = 60;
                }
            }, 1000);

            if (mobile != "") {
                $.ajax({
                    type: "post",
                    url: $.SmsHelper.AjaxUrl,
                    data: { "Mobile": mobile, "PageType": $.SmsHelper.smsPageType },
                    async: false,
                    dataType: "json",
                    success: function (msg) {
                        if (msg.returncode == "0") {
                            $.AmHelper.ShowMsg("驗證碼短信已發送");
                        } else {
                            $.AmHelper.ShowMsg(msg.message);
                        }
                    },
                    complete: function (XHR, TS) { XHR = null }
                });
            }
            else {
                $.AmHelper.ShowMsg('請填寫手機號碼!');
            }
        },
        GetSmsCodeEx: function (mobile, obj, pageType) {
            $(obj).text('請稍後...' + $.SmsHelper.yzmnum);
            $(obj).attr("disabled", true);

            var yzmtime = setInterval(function () {
                $.SmsHelper.yzmnum--;
                $(obj).text('請稍後...' + $.SmsHelper.yzmnum);
                if ($.SmsHelper.yzmnum == 0) {
                    $(obj).text('獲取驗證碼');
                    $(obj).attr("disabled", false);
                    clearInterval(yzmtime);
                    $.SmsHelper.yzmnum = 60;
                }
            }, 1000);

            if (mobile != "") {
                $.ajax({
                    type: "post",
                    url: $.SmsHelper.AjaxUrl,
                    data: { "Mobile": mobile, "PageType": smsPageType },
                    async: false,
                    dataType: "json",
                    success: function (msg) {
                        if (msg.returncode == "0") {
                            $.AmHelper.ShowMsg("驗證碼短信已發送");
                        } else {
                            $.AmHelper.ShowMsg(msg.message);
                        }

                    },
                    complete: function (XHR, TS) { XHR = null }
                });
            }
            else {
                $.AmHelper.ShowMsg('請填寫手機號碼!');
            }
        }

    });
})(jQuery);

 

 

調用方式:ajax

$.SmsHelper.GetSmsCodeClick();
相關文章
相關標籤/搜索