jqueryvalidator下拉菜单validation在选择和提交后不断添加一个字段required post

jqueryvalidator下拉菜单validation在选择和提交后不断添加一个字段required post,jquery,html,jquery-validate,Jquery,Html,Jquery Validate,我已经用HTML创建了一个表单和调查,用户将在其中填写信息并选择下拉菜单项作为问题的答案 问题在于,在未选择必需的下拉菜单后,会提示用户该字段是必需的。如果他们现在选择该下拉列表并点击提交,则会打印另一篇所需文章,并且表单不会发送到感谢页面。如果你一直点击提交,它只会一个接一个地发布必填字段。下面是我服务器上表单的链接 链接到表单: 这是我的HTML <h3> 1. How often do you have a patient who resists oral care?

我已经用HTML创建了一个表单和调查,用户将在其中填写信息并选择下拉菜单项作为问题的答案

问题在于,在未选择必需的下拉菜单后,会提示用户该字段是必需的。如果他们现在选择该下拉列表并点击提交,则会打印另一篇所需文章,并且表单不会发送到感谢页面。如果你一直点击提交,它只会一个接一个地发布必填字段。下面是我服务器上表单的链接

链接到表单:

这是我的HTML

<h3>
  1. How often do you have a patient who resists oral care? 
  <span style="padding-left:25px;"></span>
</h3>
<br/>
<select name="question1" class="surveySelection1_class">
  <option value=""selected="selected">--select--</option>
  <option value="Never">Never</option>
  <option value="Rarely">Rarely</option>
  <option value="Sometimes">Sometimes</option>
  <option value="Always">Always</option>
</select>

<h3>
  2. How often do you have a patient bite on oral swabs with oral care? 
  <span style="padding-left:25px;"></span>
</h3>
<select name="question2" class="surveySelection2_class">
  <option value=""selected="selected">--select--</option>
  <option value="Never">Never</option>
  <option value="Rarely">Rarely</option>
  <option value="Sometimes">Sometimes</option>
  <option value="Always">Always</option>
</select>

1.您有多少次患者拒绝口腔护理?

--挑选-- 从不 很少地 有时 总是 2.在口腔护理中,患者多久咬一次口腔拭子? --挑选-- 从不 很少地 有时 总是
这里是JAVASCRIPT

<script type="text/javascript">
$(document).ready(function(){
  // validate signup form on keyup and submit
  $("#contactForm").validate({
    rules: {
      fName: "required",
      lName: "required",
      telephone: "required",
      email: {
        required: true,
        email: true
      },
      telephone: {
        required: true,
        phoneUS: true
      },
      position      : "required",
      hospital      : "required",
      hospitalCity  : "required",
      hospitalState : "required",
      floor         : "required",
      experience    : "required",
      question1     : "required",
      question2     : "required",
      question3     : "required",
      question4     : "required",
      question5     : "required",
      question6     : "required",
      question7     : "required",
      question8     : "required",
      question9     : "required",
      question10    : "required",
      question11    : "required",
    },

    messages: {
      fName        : "Please enter your firstname.",
      lName        : "Please enter your lastname.",
      telephone    : "Please enter a valid telephone number.",
      email        : "Please specify a valid email address.",
      position     : "Please enter your current position.",
      hospitalCity : "Please enter your current hospital.",
      floor        : "Please enter the current floor or area you work.",
    }
  });

  /* state validation*/
  $validator.addMethod(
    "state_class",
    function(value, element) {
      return this.optional(element) || ( value.indexOf("") == -1);
    },
    "Please select a state."); 

  /* experience validation*/
  $validator.addMethod(
    "selection_class",
    function(value, element) {
      return this.optional(element) || ( value.indexOf("") == -1);
    },
    "Please share your experience with us."); 

  /* question1 validation*/
  $validator.addMethod(
    "surveySelection1_class",
    function(value, element) {
      return this.optional(element) || ( value.indexOf("") == -1);
    },
    "Please choose an answer."); 

  /* question2 validation*/
  $validator.addMethod(
    "surveySelection2_class",
    function(value, element) {
      return this.optional(element) || ( value.indexOf("") == -1);
    },
    "Please choose an answer.");

  /* question3 validation*/
  $validator.addMethod(
    "surveySelection3_class",
    function(value, element) {
      return this.optional(element) || ( value.indexOf("") == -1);
    },
    "Please choose an answer.");

  /* question4 validation*/
  $validator.addMethod(
    "surveySelection4_class",
    function(value, element) {
      return this.optional(element) || ( value.indexOf("") == -1);
    },
    "Please choose an answer.");

  /* question5 validation*/
  $validator.addMethod(
    "surveySelection5_class",
    function(value, element) {
      return this.optional(element) || ( value.indexOf("") == -1);
    },
    "Please choose an answer.");

  /* question6 validation*/
  $validator.addMethod(
    "surveySelection6_class",
    function(value, element) {
      return this.optional(element) || ( value.indexOf("") == -1);
    },
    "Please choose an answer.");

  /* question7 validation*/
  $validator.addMethod(
    "surveySelection7_class",
    function(value, element) {
      return this.optional(element) || ( value.indexOf("") == -1);
    },
    "Please choose an answer.");

  /* question8 validation*/
  $validator.addMethod(
    "surveySelection8_class",
    function(value, element) {
      return this.optional(element) || ( value.indexOf("") == -1);
    },
    "Please choose an answer.");

  /* question9 validation*/
  $validator.addMethod(
    "surveySelection9_class",
    function(value, element) {
      return this.optional(element) || ( value.indexOf("") == -1);
    },
    "Please choose an answer.");

  /* question10 validation*/
  $validator.addMethod(
    "surveySelection10_class",
    function(value, element) {
      return this.optional(element) || ( value.indexOf("") == -1);
    },
    "Please choose an answer.");

  /* question11 validation*/
  $validator.addMethod(
    "surveySelection11_class",
    function(value, element) {
      return this.optional(element) || ( value.indexOf("") == -1);
    },
    "Please choose an answer.");
}); 
</script>

$(文档).ready(函数(){
//在键盘上验证注册表格并提交
$(“#联系人表单”)。验证({
规则:{
fName:“必需”,
lName:“必需”,
电话:“必选”,
电邮:{
要求:正确,
电子邮件:真的
},
电话:{
要求:正确,
真的吗
},
职位:“必选”,
医院:“必选”,
住院率:“必需”,
医院状态:“必需”,
发言:“必须”,
经验:“必需”,
问题1:“必需”,
问题2:“必需”,
问题3:“必需”,
问题4:“必需”,
问题5:“必需”,
问题6:“必需”,
问题7:“必需”,
问题8:“必需”,
问题9:“必需”,
问题10:“必需”,
问题11:“必需”,
},
信息:{
fName:“请输入您的名字。”,
lName:“请输入您的姓氏。”,
电话:“请输入有效的电话号码。”,
电子邮件:“请指定有效的电子邮件地址。”,
职位:“请输入您当前的职位。”,
hospitalCity:“请进入您当前的医院。”,
楼层:“请输入您当前工作的楼层或区域。”,
}
});
/*状态验证*/
$validator.addMethod(
“国家级”,
函数(值、元素){
返回此.optional(元素)| |(value.indexOf(“”==-1);
},
“请选择一个州。”);
/*经验验证*/
$validator.addMethod(
“选择课程”,
函数(值、元素){
返回此.optional(元素)| |(value.indexOf(“”==-1);
},
“请与我们分享您的经验。”);
/*问题1验证*/
$validator.addMethod(
“调查选择1_类”,
函数(值、元素){
返回此.optional(元素)| |(value.indexOf(“”==-1);
},
“请选择一个答案。”);
/*问题2验证*/
$validator.addMethod(
“调查选择2_类”,
函数(值、元素){
返回此.optional(元素)| |(value.indexOf(“”==-1);
},
“请选择一个答案。”);
/*问题3验证*/
$validator.addMethod(
“调查选择3_类”,
函数(值、元素){
返回此.optional(元素)| |(value.indexOf(“”==-1);
},
“请选择一个答案。”);
/*问题4验证*/
$validator.addMethod(
“调查选择4_类”,
函数(值、元素){
返回此.optional(元素)| |(value.indexOf(“”==-1);
},
“请选择一个答案。”);
/*问题5验证*/
$validator.addMethod(
“调查选择5_类”,
函数(值、元素){
返回此.optional(元素)| |(value.indexOf(“”==-1);
},
“请选择一个答案。”);
/*问题6验证*/
$validator.addMethod(
“调查选择6级”,
函数(值、元素){
返回此.optional(元素)| |(value.indexOf(“”==-1);
},
“请选择一个答案。”);
/*问题7验证*/
$validator.addMethod(
“调查选择7_类”,
函数(值、元素){
返回此.optional(元素)| |(value.indexOf(“”==-1);
},
“请选择一个答案。”);
/*问题8验证*/
$validator.addMethod(
“调查选择8_类”,
函数(值、元素){
返回此.optional(元素)| |(value.indexOf(“”==-1);
},
“请选择一个答案。”);
/*问题9验证*/
$validator.addMethod(
“调查选择9_类”,
函数(值、元素){
返回此.optional(元素)| |(value.indexOf(“”==-1);
},
“请选择一个答案。”);
/*问题10验证*/
$validator.addMethod(
“调查选择10_类”,
函数(值、元素){
返回此.optional(元素)| |(value.indexOf(“”==-1);
},
“请选择一个答案。”);
/*问题11验证*/
$validator.addMethod(
“调查选择11_类”,
函数(值、元素){
返回此.optional(元素)| |(value.indexOf(“”==-1);
},
“请选择一个答案。”);
}); 

似乎您已经编写了很多代码来验证表单。。。 使用jquery验证插件验证select非常简单。 您必须确保有一个值为空的选项。 然后您只需将“required”类添加到select

<select id="mySelect" class="required">
  <option value="">--select--</option>
  <option value="value1">option 1</option>
  <option value="value2">option 2</option>
  <option value="value3">option 3</option>
</select>

--挑选--
选择1
选择2
选择3
参见示例:


尝试这样做验证,它应该可以解决您的问题。

因此,我将所有类都更改为required,第一个类是state,但其余的都做同样的事情。您是否必须在每个下拉列表中包含$valdiator.addMethod,或者在所有类都设置为required的情况下使用$valdiator.addMethod可以吗。它仍然不起作用。