我正在使用jQuery替换我的网站中的HTML。插入的HTML在页面底部有一个“$(document).ready”函数。该代码不会在html被替换时运行。我想这是有道理的,因为整个页面实际上并没有加载。它只是取代HTML。确保代码运行的最佳方式是什么? 这里是做替代代码:
function procView(url, e) {
var data = $('.checkout form').serialize();
$.ajax({
url: '/Shop/' + url,
data: data,
success: function (result) {
$('.rightPane').html(result);
$('#dvSummary').load('/Shop/_summary');
validateCC();
},
error: function (result) {
alert(result.responseText);
}
});
}
它是html的(结果)线。如果有关系,我使用asp.net MVC5。
这里是的document.ready代码与validateCC()函数:
$(document).ready(function() {
alert("out of the function!");
//$.validator.setDefaults({ ignore: ":hidden, .data-val-ignore" });
function validateCC() {
alert("in the function!");
$('#CardNum').validateCreditCard(function (result) {
$("#CardNum").attr('class', 'data-val-ignore');
if (result.card_type != null) {
$("#CardNum").addClass(result.card_type.name);
}
if (result.card_type != null && $("#CardNum").val().length == result.card_type.valid_length) {
$("#CardNum").addClass("valid");
}
},
{ accept: ['visa', 'mastercard', 'amex', 'discover'] });
}
});
无论这些警报的运行我。事实上,我得到:“ReferenceError:validateCC未定义”。
尝试在其他代码中放置'console.log'或'alert'。 – 2014-12-05 17:55:14
是的,在函数的开头放置'alert'有什么问题? – Regent 2014-12-05 17:56:17