这段代码完美运作的原因是什么:
<script type="text/javascript">
$(document).ready(function() {
$("#login_form").submit(function() {
$.post("ajax_login.php", {
nam: $('#nam').val(),
mPassword: $('#mPassword').val()
}, function(data) {
if (data == 'yes') {
$("#msgbox").fadeTo(200, 0.1, function() {
$(this).html('Log').addClass('messageboxok').fadeTo(900, 1, function() {
document.location = 'secure.php';
});
});
} else {
$("#msgbox").fadeTo(200, 0.1, function() {
$(this).html('Login inválido').addClass('messageboxerror').fadeTo(900, 1);
});
}
});
return false;
});
});
</script>
这个代码不起作用? (没有显示任何消息)它有任何错误吗?
<script type="text/javascript">
$(document).ready(function() {
$("#login_form").submit(function() {
$.post("ajax_login.php", {
nam: $('#nam').val(),
mPassword: $('#mPassword').val()
}, function(data) {
if (data == 'yes') {
$("#msgbox").fadeTo(200, 0.1, function() {
$(this).html('Log').addClass('messageboxerror').fadeTo(900, 1);
});
} else {
$("#msgbox").fadeTo(200, 0.1, function() {
$(this).html('Logging in.....').addClass('messageboxok').fadeTo(900, 1, function() {
document.location = 'secure.php';
});
});
}
});
return false;
});
});
</script>
编辑:两个脚本工作
问题与第二个例子有关。问题是什么?
答案 0 :(得分:5)
在我看来,您过早地关闭了第二个代码示例中的if
语句。现在看来else
适用于function
而非if
。
编辑:代码中的某些位置似乎仍然存在问题(即第二个代码中的return false
语句)。试试这个:
<script type="text/javascript">
$(document).ready(function() {
$("#login_form").submit(function() {
$.post("ajax_login.php", {
nam: $('#nam').val(),
mPassword: $('#mPassword').val()
}, function(data) {
if (data == 'yes') {
$("#msgbox").fadeTo(200, 0.1, function() {
$(this).html('Log').addClass('messageboxerror').fadeTo(900, 1);
});
} else {
$("#msgbox").fadeTo(200, 0.1, function() {
$(this).html('Logging in.....').addClass('messageboxok').fadeTo(900, 1, function() {
document.location = 'secure.php';
});
});
}
});
return false;
});
});
</script>
答案 1 :(得分:3)
在第二个功能中:
function(data) {
...
} else {
...
}
您不能在函数上使用else
子句。看来你在错误的地方有一些结尾括号。