[英]String or Null check in JavaScript function
單擊按鈕后,應驗證id值,如果該值不為NA或為null,則應加載頁面,否則將引發警報。
<a href="#" id="check" class="button" onclick="id_check()">View ID</a><br><br>
function id_check() {
if (id != "NA" || (id != null)) {
// load diff page
} else {
alert("Something Wrong");
}
}
但是or(||)的if條件不能按預期工作。 當我剛比較id!=“ NA”時,它工作正常。 我在這里想念什么?
這里要了解的重要事項是||
操作員將結果短路。 這意味着,如果第一個表達式的計算結果為真,則該值將立即返回。 第二個表達式將不會被求值。
您的情況是id != "NA" || id != null
id != "NA" || id != null
,如果數據為null
則id != "NA"
檢查將返回true
。 因此,根本不檢查第二部分。
由於您希望輸入數據不為NA
和null
,因此可以在此處使用&&
運算符,例如id != "NA" && id != null
注意: if != null
將返回false
,如果id
undefined
,因為!=
將強制表達式。 因此,最好使用嚴格的相等比較運算符。 因此, if id !== "NA" && id !== null
,則條件將變為
您的條件應為id != "NA" && id != null
因為您希望id與NA
分開並且也與null
分開。
請使用以下代碼,如果id不為空,它將在消息中顯示“成功”文本。
<a href="#" id="check" class="button" onclick="id_check(this.id)">View ID</a>
<script>
function id_check (id)
{
//if block will execute if element id value isn't empty or Null
if ( id )
{
alert("Id isn't empty");
}else
{
alert ("Id is empty");
}
}
</script>
我們需要將控件的id傳遞給函數。傳遞id之后,我們可以根據需要進行驗證。
this.id-它將元素的id作為參數返回給'id_check'函數。
請參考以下鏈接以驗證答案-http://jsfiddle.net/pdhsob8s/4/
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.