2012-05-28 39 views
0

我需要添加一個變量或什麼? D:請幫忙?javascript窗體驗證?

<html> 
<head> 
<script language="javascript" type="text/javascript"> 
function sub() 
{ 
validateForm(); 
} 
function validateForm() 
{ 
if (document.forms.myForm.fname.value == "" || document.forms.myForm.fname.value == " ") 
    { 
    alert("First name must be filled out"); 
    } 
if (document.forms.myForm.lname.value == "" || document.forms.myForm.lname.value == " ") 
{ 
alert("Last name must be filled out"); 
} 
else 
{ 
window.location = "ok.html"; 
} 
} 
</script> 
</head> 

<body> 
<form name="myForm"> 
First name: <input type="text" name="fname"> 
<br> 
Last name: <input type="text" name="lname"> 
<br> 
<input type="button" value="Submit" onclick="sub()"> 
</form> 
</body> 
</html> 

好了,所以,我的代碼工作那種 - 我不知道如何改變這種「別人的語句來得到它重定向到下一個頁面,如果形式是有效的..我是否需要添加一個變量或...? 所以基本上代碼做我想要的,直到你只輸入姓氏字段,然後它顯示錯誤消息,但它仍然重定向 -
我如何使它,所以代碼重定向到成功頁,如果兩個字段都是有效的?

(我不知道很多關於JavaScript的:/我知道你能做到很多simplier但我們必須這樣做,這樣,所以我們強制代碼來做到這一點或其他)

+2

請縮進您的代碼。謝謝。 – ThiefMaster

+1

您可以添加一些布爾變量,如果每個條件都爲true,則設置true,然後使用if語句檢查這兩個條件是否爲true並從此處繼續。儘管如此,這還是有一點點。身份證給你一個適當的解決方案,如果我沒有在我的手機上。 – Brendan

回答

1

這應該訣竅:

<html> 
    <head> 
     <script language="javascript" type="text/javascript"> 
      function validateForm() 
      { 
       var worked = true; 

       if (document.forms.myForm.fname.value == "" || document.forms.myForm.fname.value == " ") 
       { 
        alert("First name must be filled out"); 
        worked = false; 
       } 
       if (document.forms.myForm.lname.value == "" || document.forms.myForm.lname.value == " ") 
       { 
        alert("Last name must be filled out"); 
        worked = false; 
       } 

       if (worked) 
       { 
        window.location = "ok.html"; 
       } 
      } 
     </script> 
    </head> 

    <body> 
     <form name="myForm"> 
      First name: <input type="text" name="fname"> 
      <br /> 
      Last name: <input type="text" name="lname"> 
      <br /> 

      <input type="button" value="Submit" onclick="validateForm();"> 
     </form> 
    </body> 
</html> 

有很多方法來做這個簡單的任務,這就是你如何做一個變量。基本上,如果任何檢查失敗,變量worked被設置爲false(表明某件事不起作用),並且只有當該變量保持不變(true),用戶才能繼續下一步。 PS:確定你的代碼(看我的代碼比你的代碼更容易閱讀嗎?)。PPS:你絕對不應該僅僅依靠JS來驗證你的表單,你也必須在你的服務器上檢查它。有人可以輕鬆繞過這些檢查,因爲它們只是爲了方便。

+1

非常感謝你的詛咒:D +哦對不起,我沒有意識到D; – meow

+0

沒問題,交配。 – corazza