$(function () { /* 临时处理,写死那些控件需要验证码*/ var idarry = ['username', 'nickname', 'email', 'phonenumber']; var urlarry = ['/user/ajaxcheckusername', '/user/ajaxchecknickname', '/user/exists?propertyname=email', '/user/ajaxcheckphonenumber']; var messagearry = ['这个用户名已经有人在使用了。换一个还没有人使用的用户名吧!', '这个昵称已经有人在使用了。换一个还没有人使用的昵称吧!', '您输入的电子邮件已经注册了,请换一个其他电子邮件试试吧。', '您输入的手机号码已经注册了,请换一个其他手机号码试试吧。']; var typearry = [61, 62, 64, 63]; var currentid = ''; var currenturl = ''; var currentmessage = ''; $.each(idarry, function (i, v) { document.getelementbyid(v).onchange = function () { var value = document.getelementbyid(v).value; if (value == '' || value == undefined) { return false; } var checkurl = urlarry[i]; var captchaticketid = $("#js-ticketid_register-vc").val(); var captchaticket = $("#js-ticket_register-vc").val(); var parameter = v + '=' + value+"&captchaticketid="+captchaticketid+"&captchaticket="+captchaticket; $.ajax({ url: "/user/showvalidatecode", data: { type: typearry[i] }, success: function (data) { setcurrenttarget(v, urlarry[i], messagearry[i]); if (data) { $("#js-btn-verify_register-vc").attr("captcha-after","js-btn-verify_register-vc"); simcaptcha.setsuccesscallback("js-btn-verify_register-vc",function(){ captchaticketid = $("#js-ticketid_register-vc").val(); captchaticket = $("#js-ticket_register-vc").val(); parameter = v + '=' + value+"&captchaticketid="+captchaticketid+"&captchaticket="+captchaticket; $.ajax({ url: checkurl, data: parameter, success: function (data) { if (data.state == 'error') { $('#showregistergraphvalidatecodemodal #graph-validation-error').html(data.message); seterrormessage(v, data.message); } else { if (!data) { seterrormessage(v, messagearry[i]); } else{ seterrormessage(v,""); } } refreshvalidatecode(); } }); }); $("#js-btn-verify_register-vc").click(); return; } else { $.ajax({ url: checkurl, data: parameter, success: function (data) { if (data.state == 'error') { $('#showregistergraphvalidatecodemodal #graph-validation-error').html(data.message); seterrormessage(v, data.message); } else { if (!data) { seterrormessage(v, messagearry[i]); } } refreshvalidatecode(); } }); } } }); } }); $('#showregistergraphvalidatecodemodal #graph_confirmnotapprove').click(function () { var value = document.getelementbyid(currentid).value; if (code == '' || code == undefined) { $('#showregistergraphvalidatecodemodal #graph-validation-error').html('验证码不能为空!'); return false; } parameter = currentid + '=' + value + '&code=' + code; $.ajax({ url: currenturl, data: parameter, success: function (data) { if (data.state == 'error') { seterrormessage(currentid, data.message); } else { if (!data) { seterrormessage(currentid, currentmessage); } else { $('#' + currentid).next('span').html(''); } } } }); }); function refreshvalidatecode() { window.captchacallbackdynamicname(function () {}); } $('.codemodal .close').click(function () { var id = $(this).parents('.codemodal').attr('id'); $('#' + id).modal('hide'); }); function setcurrenttarget(id, url, message) { currentid = id; currentmessage = message; currenturl = url; } function seterrormessage(id, message) { $('span[data-valmsg-for="' + id + '"]').addclass('field-validation-error'); $('span[data-valmsg-for="' + id + '"]').removeclass('field-validation-valid'); $('span[data-valmsg-for="' + id + '"]').html('' + message + ''); } });