if-else语句中的javascript警报未触发
如果语句的第一部分失败,我将尝试发送警报。但我不明白为什么警报没有触发。是的,我已经强迫声明失败了if-else语句中的javascript警报未触发,javascript,alert,Javascript,Alert,如果语句的第一部分失败,我将尝试发送警报。但我不明白为什么警报没有触发。是的,我已经强迫声明失败了 $("#btnSubmit").click(function (e) { if (<?php echo $browser; ?> >= 1) { var user = $("#ownerPost input").val(); var oid = <?php echo $Owner; ?>;
$("#btnSubmit").click(function (e)
{
if (<?php echo $browser; ?> >= 1)
{
var user = $("#ownerPost input").val();
var oid = <?php echo $Owner; ?>;
$.ajax(
{
type: 'POST',
url: 'follow.php',
data: "oid="+oid,
dataType: 'json',
success: function(data)
{
var id = data[0];
var name = data[1];
$('#output2').html("<b>id: </b>"+id+"<b> name: </b>"+name);
}
}
);
$("#output").html("<b>You are now following: </b>" + user);
e.preventDefault();
}
else
{
alert("You must log in to follow");
}
}
);
$(“#btnsupmit”)。单击(函数(e)
{
如果(>=1)
{
var user=$(“#所有者邮件输入”).val();
变量oid=;
$.ajax(
{
键入:“POST”,
url:'follow.php',
数据:“oid=”+oid,
数据类型:“json”,
成功:功能(数据)
{
变量id=数据[0];
变量名称=数据[1];
$('#output2').html(“id:+id+”name:+name);
}
}
);
$(“#输出”).html(“您现在正在跟踪:“+user”);
e、 预防默认值();
}
其他的
{
警报(“您必须登录才能进行跟踪”);
}
}
);
以下是视图源的输出:
实际的数字是56,这说明这个说法是正确的。当语句为false时,它不会触发else,因此不会触发警报。
如果我将警报放在else之前,它将显示警报,因为第一部分为true
$("#btnSubmit").click(function (e)
{if (56 >= 1){
var user = $("#ownerPost input").val();
var oid = 56;
$.ajax({
type: 'POST',
url: 'follow.php',
data: "oid="+oid,
dataType: 'json',
success: function(data){
var id = data[0];
var name = data[1];
$('#output2').html("<b>id: </b>"+id+"<b> name: </b>"+name);} });
$("#output").html("<b>You are now following: </b>" + user);
e.preventDefault();
}else{alert("You must log in to follow");}});
$(“#btnsupmit”)。单击(函数(e)
{如果(56>=1){
var user=$(“#所有者邮件输入”).val();
变量oid=56;
$.ajax({
键入:“POST”,
url:'follow.php',
数据:“oid=”+oid,
数据类型:“json”,
成功:功能(数据){
变量id=数据[0];
变量名称=数据[1];
$('#output2').html(“id:+id+”name:+name);});
$(“#输出”).html(“您现在正在跟踪:“+user”);
e、 预防默认值();
}else{alert(“您必须登录才能跟踪”);});
我认为您有语法错误。我打算建议使用try/catch,但这对语法错误没有帮助。请编辑您的问题并按照其他人的建议放入“查看>页面来源”。另外,您可以使用Firebug或等效工具查看控制台吗
编辑:
我确实收到了带有此代码的警报。请注意,我将浏览器设置为0
blah = function(e) {
if (0 >= 1) {
var user = $("#ownerPost input").val();
var oid = 56;
$.ajax({
type : 'POST',
url : 'follow.php',
data : "oid=" + oid,
dataType : 'json',
success : function(data) {
var id = data[0];
var name = data[1];
$('#output2')
.html("<b>id: </b>" + id + "<b> name: </b>" + name);
}
});
$("#output").html("<b>You are now following: </b>" + user);
e.preventDefault();
} else {
alert("You must log in to follow");
}
};
blah.call();
blah=函数(e){
如果(0>=1){
var user=$(“#所有者邮件输入”).val();
变量oid=56;
$.ajax({
键入:“POST”,
url:'follow.php',
数据:“oid=”+oid,
数据类型:“json”,
成功:功能(数据){
变量id=数据[0];
变量名称=数据[1];
$(“#输出2”)
.html(“id:+id+”名称:“+name”);
}
});
$(“#输出”).html(“您现在正在跟踪:“+user”);
e、 预防默认值();
}否则{
警报(“您必须登录才能进行跟踪”);
}
};
blah.call();
如果你的$browser和$Owner变量是整数,我只能认为你的$browser>=1。否则,您可能会有语法错误-如果我提到的变量不是整数(或布尔)。这在浏览器中是什么意思?大括号的位置令人困惑。您需要向我们显示实际输出的javascript,而不是php版本。您很可能会输出不带逗号的值,导致此操作失败。$browser和$Owner的值都是整数。我已经用整数替换了这两个变量,但它仍然不会触发警报。