请帮助我,我的jQuery脚本不起作用ie8但在FF工作,请验证我的代码是否有任何错误?
<div class="check_out_button" id="checkout" style="cursor:pointer"><?=translate('Check Out',$lang)?></div>
$(document).ready(function(){
$('#checkout').click(function(){
var amount = $('#dnt_amount').val();
var flag = 0;
if(amount == "")
{
$('#amounterr').css("display","block");;
flag++;
}
if(flag == 0)
{
var res = $("#form1").serialize();
$.ajax({
type: "POST",
url: "<?=site_url('profile/checkout')?>",
data: res,
success: function(msg)
{
$('#amount').val(amount);
$('#amt').val(amount);
$('#amounterr').css("display","none");
$("#fundraiser").css("display","none");
$("#fundraiser1").css("display","block");
$("#about").css("display","none");
}
});
}
});
});
答案 0 :(得分:4)
试试这个,有一些javascript错误,比如第8行中不必要的附加分号。
$(document).ready(function() {
$('#checkout').click(function() {
var amount = $('#dnt_amount').val();
var flag = 0;
if (amount === "") {
$('#amounterr').css("display", "block");
flag++;
}
if (flag === 0) {
var res = $("#form1").serialize();
$.ajax({
type: "POST",
url: "<?=site_url('profile/checkout')?>",
data: res,
success: function(msg) {
$('#amount').val(amount);
$('#amt').val(amount);
$('#amounterr').css("display", "none");
$("#fundraiser").css("display", "none");
$("#fundraiser1").css("display", "block");
$("#about").css("display", "none");
}
});
}
});
});
答案 1 :(得分:1)
我首先要清理那个有点像双重代码的代码;在javascript中,你应该总是把{放在行的末尾。
//Bad
if()
{
}
//Good
if(){
}
您可以详细了解原因here 我不确定这是不是问题,但值得一试。如果不是,我们需要更多细节。
答案 2 :(得分:0)
你有doctype吗?你告诉浏览器使用最新的渲染引擎吗?您使用的是哪个版本的IE?你只是说它在IE中不起作用,但你没有说那是什么意思。这是一个疯狂的猜测,如果它在其他浏览器中工作而不是在IE中,那么可能您的页面以怪癖模式呈现,并且您在事件模型中存在一些问题。请参阅我最近发布的this answer。