Javascript 表单验证程序以检查选项,然后选择检查未运行

Javascript 表单验证程序以检查选项,然后选择检查未运行,javascript,html,forms,Javascript,Html,Forms,我对这个脚本有一个问题,我需要底部编程的表单验证程序,首先检查带有select的收音机是否有目标,然后才从特定的收音机下拉列表中请求时间。如果我能得到以下信息,这似乎是完整的: if (document.getElementById('first').checked) { frmvalidator.addValidation("selects", "dontselect=000", "select a time"); } 语句在javascript中工作,但因为它只寻找一段时间是真的,

我对这个脚本有一个问题,我需要底部编程的表单验证程序,首先检查带有select的收音机是否有目标,然后才从特定的收音机下拉列表中请求时间。如果我能得到以下信息,这似乎是完整的:

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>

在我看来,您真正想要的是单选按钮上的一个侦听器,它首先具有id,当选中时,根据按钮是否被选中来启用或禁用相邻的select元素。您可以通过以下方式实现:

<input type="radio" ... onclick="this.form.selects.disabled = !this.checked;">
当页面通过脚本而不是HTML加载时,应该禁用select元素

在select元素中,应在HTML中将第一个选项设置为selected:

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

在id=selects前面似乎需要一个空格。您的输入收音机必须有一个id,而不仅仅是一个名称。。它对我有用。

更改代码

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


也许这会有所帮助。

最好发布有效的标记,有些标记缺失,有些标记不匹配。您还使用了一个表单验证脚本,该脚本应在问题文本和标记中按名称列出。如果您只想发布另一个答案,则应删除此答案。
<input type="radio" name="radios" value="radio1" id="radios" />