Light12306/Web12306/js/ui/widget_verifycode.js
2014-07-01 20:07:44 +08:00

48 lines
1.6 KiB
JavaScript

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: {
url: "passcodeNew/getPassCodeNew?module=passenger&rand=randp&_=" + Math.random(),
refer: "confirmPassenger/initDc"
}
};
exports.autoLoad = function (target) {
if (target.is(".verify-code"))
exports.load(target);
else {
target.find(".verify-code").each(function () { exports.load($(this)); });
}
};
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" });
ajax.loadImage(config.url, config.refer, function (e) {
imageEle.css({ "background-image": "url(" + this.url + ")", "background-size": "100% 100%" });
(target.is(".verify-code") ? target.closest("div, p, td") : target).find(":text").val("").each(function () { this.focus(); });
}, function () {
imageEle.css({ "background-image": "url(../../images/loading.gif", "background-size": "auto" });
document.dispatchEvent(new CustomEvent("verifyCodeLoadFailed"));
});
};
exports.refresh = function (target) {
if (target.is(".verify-code"))
exports.load(target);
else {
target.find(".verify-code").each(function () { exports.load($(this)); });
}
};
exports.init = function () {
$(document).on("click", ".verify-code span, .verify-code .refresh-vc", function () {
exports.load($(this).closest(".verify-code"));
});
};
});