2013-10-28 68 views
0

我在html中創建了一個表單,並希望用戶能夠在填充某些字段時按下提交。所以我的按鈕在開始時被禁用,但由於某種原因,我的按鈕在事物填滿時不會變爲可點擊。
這是形式,我的HTML:當表單填寫html時,製作按鈕可點擊

<fieldset> 
     <legend>U gegevens</legend> 
     <form name="signup" action="index.html" method="post"> 
      <ul> 
       <li> <label>Naam</label> 
        <input type="text" name="name" size="30" /> 
       </li> 
       <li> <label>Voornaam</label> 
        <input type="text" name="voornaam" size="30" /> 
       </li> 
       <li> <label>Adress</label> 
        <input type="text" name="adress" size="30" /> 
       </li> 
       <li> <label>Gemeente</label> 
        <input type="text" name="gemeente" size="30" /> 
       </li> 
       <li> <label>Postcode</label> 
        <input type="text" name="postcode" size="30" /> 
       </li> 
       <li> 
       <p>Ik wens een alternatief facturatieadres <input type="checkbox" id="be1"onclick="if(this.checked){displayFac()}"></p> 
       </li> 
       <li style="display:none;" id="fac1"> <label >Adress</label> 
        <input type="text" size="30" /> 
       </li> 
       <li style="display:none;" id="fac2"> <label >Gemeente</label> 
        <input type="text" size="30" /> 
       </li> 
       <li style="display:none;" id="fac3"> <label>Postcode</label> 
        <input type="text" size="30" /> 
       </li> 
       <li> 
       <p>Ik wens een alternatief leveringsadress <input type="checkbox" id="be2" onclick="if(this.checked){displayLe()}"></p> 
       </li> 
       <li style="display:none;" id="le1"> <label >Adress</label> 
        <input type="text" size="30" /> 
       </li> 
       <li style="display:none;" id="le2"> <label>Gemeente</label> 
        <input type="text" size="30" /> 
       </li> 
       <li style="display:none;" id="le3" > <label>Postcode</label> 
        <input type="text" size="30" /> 
       </li> 
       <li><label for="submit"></label> 
        <button type="submit" id="submit" disabled>Verzenden</button> 
       </li> 
      </ul> 
     </form> 
    </fieldset> 

這也是我用它來檢查,如果有一些充滿的JavaScript:

function validateForm() 
{ 
    while (true){ 
    var a=document.forms["signup"]["name"].value; 
    var b=document.forms["signup"]["voornaam"].value; 
    var c=document.forms["signup"]["adress"].value; 
    var d=document.forms["signup"]["gemeente"].value; 
    var e=document.forms["signup"]["postcode"].value; 
    if (a!=null && a!="" && b !=null && b!="" && c!=null && c!= "" && d!=null && d!="" && e!=null && e!="") 
    { 
     document.getElementById("submit").disabled=false; 
    } 
} 

} 

提前感謝!

+4

你的功能將永遠凍結瀏覽器。你從來沒有真正地調用你的函數,所以你沒有注意到這個問題。 – SLaks

+0

你是如何調用啓用按鈕的功能的? 'validateForm()'...和SLaks是正確的...'while(true)'將始終爲真,創建一個無限循環。 – Mohamad

回答

0

validateForms()函數取出while循環,並調用它onblur事件並且如果選中複選框每投入。希望這可以幫助。

0

試試這個:

function validateForm() 
{ 

    var a=document.forms["signup"]["name"].value; 
    var b=document.forms["signup"]["voornaam"].value; 
    var c=document.forms["signup"]["adress"].value; 
    var d=document.forms["signup"]["gemeente"].value; 
    var e=document.forms["signup"]["postcode"].value; 
    if (a!="" && b!="" && c!= "" && d!="" && e!="") 
    { 
     document.getElementById("submit").disabled=false; 
    } 


} 
+0

恐怕這也不起作用 –