【问题标题】:JavaScript alert mechanism not workingJavaScript 警报机制不起作用
【发布时间】:2018-07-01 08:49:15
【问题描述】:

我希望我的脚本在提交表单时表现得如此,如果没有选中任何单选按钮,它应该提醒用户选择一个。我已经编写了代码,但它不起作用。请帮忙。

function validateRadios() {
  var c = document.getElementsByName("qualification");
  for(var a=0;a<=c.length;a++) {
    if(c[a].checked ) {
      alert("Form OK!");
      return true;
    }
  }
  alert("Please select one");
  return false;
} 
<form onSubmit="return validateRadios();">
   Select your qualification     
  Intermediate<input type="radio" name="qualification" value="inter" />
  Bachelors<input type="radio" name="qualification" value="Bchlrs"/>
  Masters<input type="radio" name="qualification" value="mstrs"/>
 </br>
 <input type="submit" value="Lock details"/>
</form>

【问题讨论】:

  • but it isn't working - 请描述它以什么方式不起作用 - 您是否在开发人员工具控制台中遇到错误?第一个提示:a&lt;=c.length 必须是 a&lt;c.length
  • 你的提示奏效了。当没有选中任何单选按钮时,它没有显示警报。

标签: javascript html web


【解决方案1】:

问题在于您的 for 循环条件。它正在迭代直到 length+1 元素。只需删除 = 条件即可。

    function validateRadios() {
      var c = document.getElementsByName("qualification");
      for(var a=0;a<c.length;a++) {
        if(c[a].checked ) {
          alert("Form OK!");
          return true;
        }
      }
      alert("Please select one");
      return false;
    } 
     <form onSubmit="return validateRadios();">
     Select your qualification     
        Intermediate<input type="radio" name="qualification" value="inter" />
        Bachelors<input type="radio" name="qualification" value="Bchlrs"/>
        Masters<input type="radio" name="qualification" value="mstrs"/>
       </br>
       <input type="submit" value="Lock details"/>        
    </form>

【讨论】:

  • @Ahmer-thanks.please 接受答案并投票。将来会对其他人有所帮助。
【解决方案2】:

这样会更好:)

function validateRadios() {
  var status = false
  var c = document.getElementsByName("qualification").forEach((item) => {
    status = item.checked ? true : status
  })
  console.log(status)
}

它对你不起作用,因为它返回的不仅是元素,还有方法。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-13
    • 2016-03-15
    • 2011-10-02
    相关资源
    最近更新 更多