无法在超链接点击时显示警报

时间:2013-05-11 07:37:21

标签: javascript

我有一个锚链接,点击它我调用一个JavaScript函数,我在其中使用if-else。如果条件为真,它可以正常工作到链接。但如果条件为假。我正在向用户显示警告。但我的警报不起作用。

 <script type="text/javascript" language="javascript">

         function getVal(fid) {

             if (fid != null || fid != undefined || fid != "")
                 window.location = "http://yatra.eresolute.com/Airline/AirPrice.aspx?fid=" + fid.toString();
             else
                 alert("Flight has no ID!");

         }

    </script>

3 个答案:

答案 0 :(得分:1)

你误导了

if (fid != null || fid != undefined || fid != "")

您应该使用&&代替||

为什么?

因为||表示fid,所以在每种情况下,不能同时为null和undefined以及空字符串。在您的代码中,您说的是

  

如果它不为空或未定义或空字符串,则重定向

对于这3个验证,您的检查必须是肯定的。 所以,2个选择:

if (fid != null && fid != undefined && fid != "") {window.location...}else{alert(...)}

或者

if (fid == null || fid == undefined || fid == "") {alert(...)}else{window.location...}

答案 1 :(得分:0)

这是你的解决方案

http://jsfiddle.net/p9z3F/

function getVal(fid) {
    if (fid != null && fid != undefined && fid != "") alert('Flight have ID')
    else alert("Flight has no ID!");
}

答案 2 :(得分:0)

您应该将条件undefined更改为

if (fid != null && typeof(fid) != 'undefined' && fid != "")

alert(fid)条件之前尝试if

相关问题