2015-12-07 140 views
0

如何驗證以確保total或orderForm的值已填滿,否則它會在單擊Submit按鈕時顯示窗口警報?驗證並顯示窗口警報

看起來下面根本不起作用。

純JS:

function va(){ 
       var result = false; 
           var w = document.forms["orderForm"]["companyName"].value; 
           var x = document.forms["orderForm"]["forename"].value; 
           var y = document.forms["orderForm"]["surname"].value; 
           var z = document.forms["orderForm"]["total"].value; 
           if (x == null || x == "") && (y == null || y == "") && (w == null || w == ""){ 
            window.alert('Name must be Filled out'); 
             result = false; 
           // } else if (z = < 5){ 
            //  window.alert('Please Select A CD'); 
           //  return false; 
           // }else { 
           //  return true; 
            } 
            return result; 
         } 

HTML:

 <section id="checkCost"> 
      <h3>Total cost</h3> 
      Total <input type="text" name="total" id="total" size="10" readonly="readonly" /> 
     </section> 

     <section id="placeOrder"> 
      <h3>Place order</h3> 
      Your details 
         Customer Type: <select id="show" name="customerType" onchange="change(this)">  
       <option value="">Customer Type?</option>  
       <option value="ret">Customer</option> 
       <option value="trd">Trade</option> 
      </select> 

      <div id="retCustDetails" class="custDetails" style="display:none"> 
       Forename <input type="text" name="forename" id="forename" /> 
       Surname <input type="text" name="surname" id="surname" /> 
      </div> 
<p><input type="submit" name="submit" value="Order now!" id="sub1" disabled="disabled"/></p> 
+0

乍一看,它看起來像警報只會執行,如果全部3個值(W,X和Y)是空的。 –

回答

0

嘗試:

if ((x == null || x == "") || (y == null || y == "") || (w == null || w == "")) 

編輯:

沒問題,原線路:

if (x == null || x == "") && (y == null || y == "") && (w == null || w == "") 

我做了兩件事。關閉||關閉& &並將if條件包含在括號內(這可能不是必需的,但我爲了整潔)。原始if語句的內容如下:「條件和條件和條件」表示所有條件必須返回true(即爲空)才能繼續。我相信每個這些值都需要驗證表單。如果條件或條件或條件「如果任何值爲空,則讓我顯示警報框,我的建議if語句將顯示」。

+0

請考慮編輯您的帖子,以添加更多關於您的代碼的解釋以及爲什麼它可以解決問題。一個主要包含代碼的答案(即使它正在工作)通常不會幫助OP瞭解他們的問題。 – Drenmi

+0

謝謝,似乎沒有窗口警報,我是否缺少事件觸發器或事件偵聽器? –

+0

如何刪除'窗口'? alert('message'); –

0

試試這個:

if (x == null || x == "") { 
    window.alert('forename must be Filled out'); 
    result = false; 
} else if (y == null || y == "") { 
    window.alert('surname must be Filled out'); 
    result = false; 
} else if (w == null || w == "") { 
    window.alert('companyName must be Filled out'); 
    result = false; 
} 

return result; 
+0

謝謝,似乎沒有窗口警報,我是否缺少類似事件觸發器或事件偵聽器的內容? –