2013-04-28 59 views
1

我有这个脚本一个问题,我需要的表单验证底部的程序性,首先检查与选择无线电设备是否有针对性的,然后,然后才要求从特定的无线电下拉时间开始。这似乎是完整的,如果我能得到:表单验证检查选项,并选择检查不正常

if (document.getElementById('first').checked) { 
    frmvalidator.addValidation("selects", "dontselect=000", "select a time"); 
} 

声明工作JavaScript,但它只是寻找的时候,它的真实的,但我似乎失去了一些东西。请协助

<form method="POST" name="contactform" id="contactform" action="contact-form-handler.php"> 
    <div> 
    <div style="float:left; width:420px;";> 
     <input type="radio" name="radios" id="first" value="SELECT" /> Attending a GROUP Intro  to Meditation ($15) on: <br/> 
     <select name="selects"id="selects"> 
     <option value="000">Select a Date</option> 
     <option value="2">April 23rd, TUES at 7:00PM - Group Intro to Meditation</option> 
     <option value="3">April 27th, SAT at 11:00AM - Group Intro to Meditation</option> 
     <option value="4">May 1st, WED at 7:00PM - Group Intro to Meditation</option> 
     <option value="5">May 7th, TUES at 7:00PM - Group Intro to Meditation</option> 
    </select> 
     <br> 
     <input type="radio" name="radios" value="radio1" /> Scheduling a PRIVATE Intro to Meditation ($200) <br/> 
     <input type="radio" name="radios" value="radio2" /> Scheduling an Individual Consultation ($300/$475) <br/> 
     <input type="radio" name="radios" value="radio3" /> GIFT a Mentoring Session - 2 hr ($350) <br> 
     <input type="radio" name="radios" value="radio4" /> Corporate Programs <br/> 
     <input type="radio" name="radios" value="radio5" /> Pro Bono Programs <br/> 
     <input type="radio" name="radios" value="radio6" /> General Inquiry <br/> 
     <input type="radio" name="radios" value="radio7" /> Receiving Information on Future  Intro Dates<br/> 
    </div> 
    <div style="float:left";> 
     <label for='name'>Your Name:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</label> 
     <input type="text" name="name"> <br> 
     <label for='email'>Email Address:&nbsp;</label> 
     <input type="text" name="email"> <br> 
     <label for='confirm_email'>Confirm Email:</label> 
     <input type="text" name="confirm_email"> <br> 
     <label for='email'>Contact #:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</label> 
     <input type="text" name="contact"> <br> 
     <label for='message'>Message:</label> <br> 
     <textarea rows="8" cols="35" name="message";></textarea> 
     <input type="submit" value="Submit"><br> 
    </form> 
    </div> 
</div> 
</td> 
<tr> 
    <td> 
    <script language="JavaScript"> 
     // Code for validating the form 
     // Visit http://www.javascript-coder.com/html-form/javascript-form-validation.phtml 

     // for details 
     var frmvalidator = new Validator("contactform"); 
     frmvalidator.addValidation("name","req","Please provide your name"); 
     frmvalidator.addValidation("email","req","Please provide your email"); 
     frmvalidator.addValidation("email","email","Please enter a valid email address"); 

     //frmvalidator.addValidation("selects","dontselect=000","select a time"); 
     var chktestValidator = new Validator("contactform"); 

     //chktestValidator.addValidation("radios","selectradio","Please select an option"); 
     chktestValidator.addValidation("radios","selone", "Please select a plan"); 

     if(document.getElementById('first').checked) { 
     frmvalidator.addValidation("selects","dontselect=000","select a time"); 
     } 
    </script> 
+0

这是更好地张贴有效的标记,一些标签缺失,有些是不匹配的。您还正在使用表单验证脚本,该脚本应在问题文本中和标签中按名称提及。 – RobG 2013-04-28 22:32:48

回答

0

在我看来,你真正想要的是ID为“第一”的是,当检查单选按钮的监听器,启用或禁用基于按钮是否被选中或毗邻选择元素不。你可以做到这一点:

<input type="radio" ... onclick="this.form.selects.disabled = !this.checked;"> 

您应该禁用选择元素时脚本页面加载,而不是在HTML。

在选择元素,您应该设置第一个选项,在HTML选择:

<option value="000" selected>Select a Date</option> 
0

这似乎需要在ID前面的空格=“选择”

0

您的输入无线电必须有一个“ID”不只是一个名字。它适用于我..

+0

如果你只是发布你的另一个,你应该删除这个答案。 – 2014-07-05 02:48:04

0

更改代码

<input type="radio" name="radios" value="radio1" /> 

<input type="radio" name="radios" value="radio1" id="radios" /> 

也许这可以帮助..