2016-11-10 9 views
-2

私はレポートを生成するテーブルを持っています。私はこの1つのレポートのjavascriptバリデーションを書く必要があります。残念ながら、私の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> 

...

<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

よりもむしろ、彼らはreturn falseでそれを停止しますので、else一連のステートメントは、ちょうどif文を持っている、と緑/渡されたパス/アクションは、一番下にあるしています。

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

はい、それは開発者でした。それは私が持っていたいくつかの文法の問題で私を助けた。 – Tetteh