2013-02-13 51 views
0

別人的幫助現在的形式是一種形式,這裏是新斷碼的Javascript如果處理

<script language="javascript" type="text/javascript"> 
function verifyIt(){ 
    if((document.form1.baseline_08.value != "" && Number(document.form1.baseline_08.value) && document.form1.baseline_08.value != "-1")){ 
    if((document.form1.baseline_09.value != "" && Number(document.form1.baseline_09.value) && document.form1.baseline_09.value != "-1")){ 
     document.form1.submit(); 
     return true; 
    }else{ 
     alert("Please select how old you were when you started smoking every day."); 
     return false; 
    } 
} 
function submit2(){ 
    document.form1.direction.value = "back"; 
    document.form1.submit(); 
} 

</script> 

現在驗證不工作的。我現在只是沒有看到這有什麼問題。

我遇到的問題是form1是唯一被識別的問題。我相信這是因爲我的if語句結構。基本上,我只從form1獲得回報。我的js有什麼問題?

+0

以這種方式提交兩個單獨的表單是沒有意義的。你可以用XMLHttpRequest(ajax)來做,但不是這樣。另一個問題是你的第一個'if else'總是從函數返回,不管是'true'還是'false'。一旦從函數返回,其餘部分將不會被評估。 – Pointy 2013-02-13 20:22:25

+0

您不能同時提交兩個單獨的表單。 – 2013-02-13 20:22:32

+0

我應該注意到,我沒有寫js,我只需要在同一頁面上合併一堆表單,這樣我就可以將所有的頁面驗證合併在一起。 – user1978497 2013-02-13 20:22:48

回答

1

我相信這是因爲我的if語句結構。

是的,您在檢查form1後總是return。但是,您無法一次提交多個表單,因此應該將它們合併爲一個。然後使用

function verifyIt() { 
    if(!(document.form.baseline_08.value == "" && Number(document.form.baseline_08.value) && document.form.baseline_08.value != "-1")){ 
     alert("Please select how old you were when you started smoking every day."); 
     return false; 
    } 
    if(!(document.form.baseline_09.value != "" && Number(document.form.baseline_09.value) && document.form.baseline_09.value != "-1")){ 
     alert("Please select when you would smoke after waking up."); 
     return false; 
    } 
    document.form.submit(); 
} 
+0

我想我會試試這個。 – user1978497 2013-02-13 20:27:34

+0

還有什麼更像是一種「和」類型的聲明提交多個表單繫繩? – user1978497 2013-02-13 20:36:18

+0

不,您只能一次提交一份表格 – Bergi 2013-02-13 20:44:11