Beauty and the Beast 2019-07-02 21:37 采纳率: 100%
浏览 156
已采纳

问题:HTML5,JavaScript 代码中,优先权的问题。

是这样的:我做一个留言网站:
网站页面如下:

图片说明

点击提交时(前面的4个留言框我都已经设置了HTML5自带的验证属性,比如姓名这个文本框的代码是

<input type="text" name="name" id="name" required>

这么一段代码,里面包括了requird这个必填验证),假设我姓名栏不填,点击提交后会有JavaScript代码弹出框显示验证码错误。点击弹出框的确定后,才在姓名文本框内显示必须填写此字段。

我希望是在不触发任何字段检测的情况下再去JavaScript代码运行检测,否则就不要运行。

  • 写回答

2条回答 默认 最新

  • 大明湖畔的人参果 2019-07-03 12:12
    关注

    我表单通常验证的方法:
    首先提交按钮先是disabled = true,表单元素变化时才进行验证,并且是一项一项的验证,这样用户体验会比较好,尤其是表单特别长的时候。具体实现的方法就是当前项目选择验证主要用到onChange(或者keyUp)和onBlur,和form.checkValidity(),如下面例子:

    <form id="form">
        <div>
          <label for="name">姓名</label>
          <input type="text" id="name" name="name" required />
          <span id="tip" style="display: none">请输入姓名</span>
        </div>
        <div>
          <label for="sex">性别</label>
          <input type="text" id="sex" name="sex" />
        </div>
      </form>
      <button id="submit" disabled>提交</button>
      <script>
        let form = document.getElementById('form')
        let name = document.getElementById('name')
        let submit = document.getElementById('submit')
        let tip = document.getElementById('tip')
        function checkValid(e) {
          if(e.target.reportValidity()) {
            (form.checkValidity()) && (submit.disabled = false);
            tip.style.display = 'none'
          } else {
            submit.disabled = true
            tip.style.display = 'inline'
          }
        }
        name.addEventListener('change', checkValid, false)
        name.addEventListener('blur', checkValid, false)
      </script>
    

    效果:

    图片说明

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 已采纳回答 2月11日

悬赏问题

  • ¥50 安装华大九天aether
  • ¥30 关于#算法#的问题:运用EViews第九版本进行一系列计量经济学的时间数列数据回归分析预测问题 求各位帮我解答一下
  • ¥15 setInterval 页面闪烁,怎么解决
  • ¥15 如何让企业微信机器人实现消息汇总整合
  • ¥50 关于#ui#的问题:做yolov8的ui界面出现的问题
  • ¥15 如何用Python爬取各高校教师公开的教育和工作经历
  • ¥15 TLE9879QXA40 电机驱动
  • ¥20 对于工程问题的非线性数学模型进行线性化
  • ¥15 Mirare PLUS 进行密钥认证?(详解)
  • ¥15 物体双站RCS和其组成阵列后的双站RCS关系验证