1

我有一个锚链接,点击它时我调用了一个 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>
4

3 回答 3

1

你在误导

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

您应该使用&&而不是||.

为什么 ?

因为||意味着or and ,fid在任何情况下,不能同时为 null 和 undefined 和空字符串。在您的代码中,您是在说

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

您的支票必须在这 3 项验证中是肯定的。所以,2个选择:

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

或者

if (fid == null || fid == undefined || fid == "") {alert(...)}else{window.location...}
于 2013-05-11T08:03:38.410 回答
0

这是你的解决方案

http://jsfiddle.net/p9z3F/

function getVal(fid) {
    if (fid != null && fid != undefined && fid != "") alert('Flight have ID')
    else alert("Flight has no ID!");
}
于 2013-05-11T07:44:45.320 回答
0

你应该改变你的undefined条件

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

也尝试alert(fid)之前的if条件。

于 2013-05-11T08:09:43.017 回答