todo:btn-captcha 点击后如何传参的

发布于 2024-11-13 19:07:22

btn-captcha 点击后如何传参的

看了form data是传了event 和 mobile,这是在哪里传的进来的呢,原来是

D:\2.work\fastadmin\1.2.0.20201008_full\public\assets\js\frontend.js

定义了类名为btn-captcha的点击事件
$(document).on("click", ".btn-captcha", function (e)

在这个事件里,会调用Frontend.api.sendcaptcha,里面的data参数就定义了event 和 mobile

element.isValid(function (v) {
if (v) {
  var data = {event: $(btn).data("event")};
  data[type] = element.val();  //type的值为mobile
  Frontend.api.sendcaptcha(btn, type, data);
} else {
  Layer.msg("请确认已经输入了正确的" + text + "!");
}
});

如果还要传其他值,就要改造上面这里

element.isValid(function (v) {
    if (v) {
        var data = { event: $(btn).data("event") };
        data[type] = element.val();
        //begin add by astonish 20201208 增加mycaptcha到form表单里
        var mycaptcha_name = $(btn).data("mycaptcha");
        if (mycaptcha_name != null && mycaptcha_name != undefined) {
            var mycaptcha = $("input[name='" + mycaptcha_name + "']");
            data["mycaptcha"] = mycaptcha.val();
        }
        //end add by astonish 20201208
        data[type] = element.val();
        Frontend.api.sendcaptcha(btn, type, data);
    } else {
        Layer.msg("请确认已经输入了正确的" + text + "!");
    }
});

html这样,表示从input name 为mycaptcha的控件取值 传递到后台去

<a href="javascript:;" class="btn btn-info btn-captcha" data-mycaptcha="mycaptcha" data-url="{:url('api/sms/send')}"  data-type="mobile" data-event="changemobile">获取验证码</a>
0 条评论

发布
问题