javascript - 检查选择的标签是否已得到答复

标签 javascript html forms

我有一个工作脚本,可以检查所有具有“required”类的输入,它检测输入是否有内容,然后将答案传递给 Google 的 Invisible Recaptcha。

我遇到了选择下拉列表的问题。

以下 JS 是与文本配合使用的示例:

var questions = document.getElementsByClassName('required');
var valid = true;

for (var i=0; valid && i<questions.length; i++) {
    if (!questions[i].value.trim()) {
        valid = false;
    }
}

我的一个下拉菜单的示例是:

<select id="q6" class="required" name="designation">
      <!-- Disabled -->
      <option disabled selected>Select one of the following:</option>
      <!-- Options -->
      <option value="#">Regisitered Nurse</option>
      <option value="#">Regisitered Practical Nurse</option>
      <option value="#">Personal Support Worker (Developmental Service Worker)</option>
      <option value="#">Nursing Student (Completed First Year)</option>
      <!-- Options // END -->
</select>

我想知道是否有人知道如何将函数添加到我上面的脚本中来检测未答复的选择下拉列表。如果我们也能通过"file"输入来完成这项工作,那就太好了。

最佳答案

尝试将: value=""添加到您的第一个选择选项中,因此默认情况下它是空的,并且将无法通过验证检查。

let validate = function() {
  var questions = document.getElementsByClassName('required');
  var valid = true;

  for (var i = 0; valid && i < questions.length; i++) {
    if (!questions[i].value.trim()) {
      valid = false;
    }
  }

  console.log(valid);

}
<input id="q5" class="required" name="name" type="text" />
<select id="q6" class="required" name="designation">
      <!-- Disabled -->
      <option disabled selected value="">Select one of the following:</option>
      <!-- Options -->
      <option value="#">Regisitered Nurse</option>
      <option value="#">Regisitered Practical Nurse</option>
      <option value="#">Personal Support Worker (Developmental Service Worker)       </option>
      <option value="#">Nursing Student (Completed First Year)</option>
      <!-- Options // END -->
</select>
<button onclick="validate();">Validate</button>

关于javascript - 检查选择的标签是否已得到答复,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44637917/

相关文章:

javascript - trim 标签中的空白而不删除内部 &lt;input&gt;

html - 沿导航栏均匀分布按钮(各种宽度)

javascript - 禁用输入类型=数字的输入验证

javascript - 如何让区域监听 Marionette 中布局触发的事件?

Javascript Accordion - 折叠除事件之外的所有打开实例

javascript - 将选择值传递给链接 URL 参数

javascript - 开始使用 JavaScript 中的动画排版/粒子(将粒子映射到单词)?

html - 当我刷新页面时,为什么我的表单输入有时会移动?

javascript - 使用服务在 Angular 中提交表单后如何更新列表?

javascript - 使用脚本标记检测 Internet Explorer 上的 xml 加载失败