Light12306/Web12306/js/ui/widget_verifycode.js

48 lines
1.6 KiB
JavaScript
Raw Normal View History

2014-06-12 21:36:05 +08:00
define(function (require, exports, module) {
var ajax = require("../platform/webRequest.js");
exports.data = {
login: {
url: "passcodeNew/getPassCodeNew?module=login&rand=sjrand",
refer: "login/init"
},
order: {
2014-07-01 20:07:44 +08:00
url: "passcodeNew/getPassCodeNew?module=passenger&rand=randp&_=" + Math.random(),
2014-06-27 22:25:42 +08:00
refer: "confirmPassenger/initDc"
2014-06-12 21:36:05 +08:00
}
};
2014-07-01 20:07:44 +08:00
exports.autoLoad = function (target) {
2014-06-12 21:36:05 +08:00
if (target.is(".verify-code"))
exports.load(target);
else {
2014-07-01 20:07:44 +08:00
target.find(".verify-code").each(function () { exports.load($(this)); });
2014-06-12 21:36:05 +08:00
}
};
exports.load = function (target) {
var type = target.attr("data-target");
var config = exports.data[type];
var imageEle = target.find("span");
imageEle.css({ "background-image": "url(/images/loading.gif)", "background-size": "auto" });
2014-06-12 21:36:05 +08:00
ajax.loadImage(config.url, config.refer, function (e) {
imageEle.css({ "background-image": "url(" + this.url + ")", "background-size": "100% 100%" });
2014-07-01 20:07:44 +08:00
(target.is(".verify-code") ? target.closest("div, p, td") : target).find(":text").val("").each(function () { this.focus(); });
2014-06-12 21:36:05 +08:00
}, function () {
imageEle.css({ "background-image": "url(/images/loading.gif)", "background-size": "auto" });
2014-06-13 19:52:22 +08:00
document.dispatchEvent(new CustomEvent("verifyCodeLoadFailed"));
2014-06-12 21:36:05 +08:00
});
};
exports.refresh = function (target) {
2014-07-01 20:07:44 +08:00
if (target.is(".verify-code"))
2014-06-12 21:36:05 +08:00
exports.load(target);
else {
2014-07-01 20:07:44 +08:00
target.find(".verify-code").each(function () { exports.load($(this)); });
2014-06-12 21:36:05 +08:00
}
};
exports.init = function () {
$(document).on("click", ".verify-code span, .verify-code .refresh-vc", function () {
exports.load($(this).closest(".verify-code"));
});
};
});