簡體   English   中英

意外出現Javascript警告

[英]Javascript alert coming up when not expected

我試圖確保表單的所有字段都不為空。 當有空字段時,此警報會按預期方式出現,但是,當所有字段都已滿時,警報仍會出現。 我想念什么嗎?

var sn = document.myForm.address.length;
var sna = document.myForm.street.length;
var su = document.myForm.city.length;
var st = document.myForm.state.length;
var usn = document.myForm.username.length;

if (sn || sna || su || st || usn == null) {
    alert("All fields are required. Please ensure you leave no fields blank."); 
    return false;   
} else {

}

由於初始化了所有變量,因此if語句的評估結果如下:

if (true || true || true || true || true || false)

只有一個true會使上述整個if條件評估為true因為所有|| 運算符是OR運算符。

進一步考慮,如果您只是聲明但不初始化變量,例如var sn; //declared var sn; //declared為與var sn = document.myForm.address.length; //initialized相反var sn = document.myForm.address.length; //initialized var sn = document.myForm.address.length; //initialized然后它的條件為false因為聲明了if(sn) ,但未初始化= false。

此外,要檢查每個變量中的值,而不是檢查它們是否已初始化,必須執行以下操作:

if (sn == null || sna == null || su == null || st == null || usn == null)

或者可能是因為您分配了長度,所以您需要這樣做

if (sn > 0 || sna > 0 || su > 0等...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM