2016-11-10 80 views
-2

我有一個表格,可以生成報告。我需要爲這個報告編寫javascript驗證。不幸的是,我的JavaScript非常薄弱。我有服務器端驗證,但我也需要有JavaScript驗證。我的頁面如下...我的報告頁面的Javascript驗證

<tr> 
<form name="MedicaidResidents" action="Medicaid_Residents.cfm" method="post" id='f1' onSubmit="ValidateForm(this.form);"> 
<td nowrap="nowrap"> 
Medicaid Residents 
</td> 
<td style="width: 5%;"> 
    <table style="width: 5%;"> 
    <tr> 
     <td style="width: 5%;"><br><br> 
     <input type="radio" name="choice" value='1' onClick="check_radio()";>All<br><br> 
     <input type="radio" name="choice" value='2' onClick="check_radio()";>States<br><br> 
     <input type="radio" name="choice" value='3' onClick="check_radio()";>Communities 
     </td> 
     <td style="width: 5%;"> 
<select name="stateprompt1" multiple="multiple" size="10" id="T1"> 
    <cfloop query="Medicaid_States"> 
     <option value="#Medicaid_States.State_Code#">#Medicaid_States.State_Code#</option> 
    </cfloop> 
</select> 
    </td> 
     <td style="width: 10%;"> 
    <select name="houseprompt1" multiple="multiple" size="10" id="T2"> 
    <cfloop query="Medicaid_Houses"> 
     <option value="#Medicaid_Houses.iHouse_ID#">#Medicaid_Houses.Community# </option> 
    </cfloop> 
</select> 
    </td> 
    </tr> 
    </table> 
    </td> 
<td> 
<table style="width: 5%;"> 
    <tr> 
     <td> 
    From 
     </td> 
    </tr> 
    <tr> 
     <td> 

    <input type="text" id="txtFromDate" name="dateprompt1"> 
     </td> 
    </tr> 
    <tr> 
      <td>&nbsp; 
     </td> 
    </tr> 
    <tr> 
     <td> 
     To 
     </td> 
    </tr> 
    <tr> 
     <td> 
     <input type="text" id="txtToDate" name="dateprompt2"> 
     </td> 
    </tr> 
</table> 
</td> 
<td> 
<input type="Submit" name="Go" value="GO" style="font-size: 12; color: navy; height: 20px; width: 60px;"> 
</td> 
</form> 
</tr> 

我寫的JavaScript是...

<script LANGUAGE="JavaScript"> 
function ValidateForm(form){ 

if ((form.choice[0].checked == false) && (form.choice[1].checked == false) && (form.choice[2].checked == false)) 
{ 
alert ("Please first select a radiobutton"); 
return false; 
} 
elseif ((form.choice[1].checked == True) && (document.getElementById("T1").value=="")) 
{ 
alert ("Please select a State"); 
return false; 
} 
elseif ((form.choice[2].checked == True) && (document.getElementById("T2").value=="")) 
{ 
alert ("Please select a House"); 
return false; 
} 
elseif ((document.dateprompt1.value =="") && (document.dateprompt2.value=="")) 
{ 
alert ("please select 'From' and 'To' dates"); 
return false; 
} 
} 
</script> 

...但它不工作。我知道JavaScript寫得不好。我將不勝感激任何幫助它的工作!

+0

的第一個問題,是在傳承形式對象爲驗證功能 – fingerpich

回答

0

而不是有一系列的else語句只有if語句,因爲他們將停止它與return false,並且綠色/傳遞的路徑/操作在底部。

function ValidateForm(){ 
 

 
    var a = document.forms["MedicaidResidents"]["choice"].value; 
 
    var b = document.forms["MedicaidResidents"]["stateprompt1"].value; 
 
    var c = document.forms["MedicaidResidents"]["houseprompt1"].value; 
 
    
 
    var d = document.forms["MedicaidResidents"]["dateprompt1"].value; 
 
    var e = document.forms["MedicaidResidents"]["dateprompt2"].value; 
 
    
 
    if (a == null || a == "") {  
 
    alert("Please first select a radiobutton"); 
 
    return false; 
 
    } 
 
    
 
    if (b == null || b == "") {  
 
    alert("Please select a State"); 
 
    return false; 
 
    } 
 
    
 
    if (c == null || c == "") {  
 
    alert("Please select a House"); 
 
    return false; 
 
    } 
 
    
 
    if (d == null || d == "" && e == null || e == "") {  
 
    alert("please select 'From' and 'To' dates"); 
 
    return false; 
 
    } 
 
    
 
    return true; 
 

 
}
<tr> 
 
<form name="MedicaidResidents" action="Medicaid_Residents.cfm" method="post" id='f1' onSubmit="return ValidateForm();"> 
 
<td nowrap="nowrap"> 
 
Medicaid Residents 
 
</td> 
 
<td style="width: 5%;"> 
 
    <table style="width: 5%;"> 
 
    <tr> 
 
     <td style="width: 5%;"><br><br> 
 
     <input type="radio" name="choice" value='1' onClick="check_radio()">All<br><br> 
 
     <input type="radio" name="choice" value='2' onClick="check_radio()">States<br><br> 
 
     <input type="radio" name="choice" value='3' onClick="check_radio()">Communities 
 
     </td> 
 
     <td style="width: 5%;"> 
 
<select name="stateprompt1" multiple="multiple" size="10" id="T1"> 
 
    <cfloop query="Medicaid_States"> 
 
     <option value="#Medicaid_States.State_Code#">#Medicaid_States.State_Code#</option> 
 
    </cfloop> 
 
</select> 
 
    </td> 
 
     <td style="width: 10%;"> 
 
    <select name="houseprompt1" multiple="multiple" size="10" id="T2"> 
 
    <cfloop query="Medicaid_Houses"> 
 
     <option value="#Medicaid_Houses.iHouse_ID#">#Medicaid_Houses.Community# </option> 
 
    </cfloop> 
 
</select> 
 
    </td> 
 
    </tr> 
 
    </table> 
 
    </td> 
 
<td> 
 
<table style="width: 5%;"> 
 
    <tr> 
 
     <td> 
 
    From 
 
     </td> 
 
    </tr> 
 
    <tr> 
 
     <td> 
 

 
    <input type="text" id="txtFromDate" name="dateprompt1"> 
 
     </td> 
 
    </tr> 
 
    <tr> 
 
      <td>&nbsp; 
 
     </td> 
 
    </tr> 
 
    <tr> 
 
     <td> 
 
     To 
 
     </td> 
 
    </tr> 
 
    <tr> 
 
     <td> 
 
     <input type="text" id="txtToDate" name="dateprompt2"> 
 
     </td> 
 
    </tr> 
 
</table> 
 
</td> 
 
<td> 
 
<input type="Submit" name="Go" value="GO" style="font-size: 12; color: navy; height: 20px; width: 60px;"> 
 
</td> 
 
</form> 
 
</tr>

https://jsbin.com/kawewerisu/1/edit?html,js,output

+0

謝謝!當我到辦公室時我會嘗試這個! – Tetteh

+0

我的回答有幫助嗎? – developernator

+0

是的,它確實是developernator。它幫助我解決了一些語法問題。 – Tetteh