首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当错误消息表示的错误发生时,将插入错误消息的位置

当错误消息表示的错误发生时,将插入错误消息的位置
EN

Stack Overflow用户
提问于 2019-04-08 08:01:01
回答 2查看 33关注 0票数 0

我在弄清楚如何编写以下代码时遇到了问题:问题是我使用了一个id为<div> -display的空错误显示。当错误消息表示的错误发生时,将在此<div>中插入错误消息。我想让所有的字段验证时,用户单击它们的下一个字段。如果出现错误,应该会显示一条错误消息。同样,当用户修复问题时,应该删除错误消息。但是我不知道该怎么做!这是我到目前为止所得到的:

代码语言:javascript
复制
    <div id="error-display">
  </div>
    <form id="project-form">
        <br>E-mail:<span class="error">* </span>
        <input type="email" name="email" id="email" placeholder="Example@example.com" required>
        <br>Password:<span class="error">* </span>
        <input type="password" placeholder="Password" pattern="(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,}"  id="password" required>
        <br>Confirm Password:<span class="error">* </span>
        <input type="password" placeholder="Repeat Password" pattern="(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,}"  id="password-confirmation"  required>

插入emipty "div id="error-display">“后,我能做什么?假设错误消息是:无效的电子邮件地址。

代码语言:javascript
复制
<input type="email" name="email" id="email" placeholder="Example@example.com" required>

我在输入元素中尝试了"required“,它对我的输入有效,然而,我认为我的教授正在寻找一个不同的解决方案。

EN

回答 2

Stack Overflow用户

发布于 2019-04-08 08:26:11

我建议您为每个输入字段添加change事件侦听器并验证每个字段,如果某些字段无效,则应将' error -display‘div的innerText属性设置为错误消息文本

票数 0
EN

Stack Overflow用户

发布于 2019-04-08 11:05:42

这里有一个快速而简单的解决方案

在所有输入字段中,将onchange="validateField(fieldID, fieldname)"放在下面

代码语言:javascript
复制
<input type="email" name="email" id="email" onchange="validateField('email', 'Email')"  placeholder="Example@example.com" required>

然后将这个脚本粘贴到你的表单下面(或者你可以把它放在一个单独的js文件中)

代码语言:javascript
复制
<script>
   function validateField(fieldID, fieldname) {
     var inpObj = document.getElementById(fieldID);
       if (!inpObj.checkValidity()) {
         document.getElementById("error-display").innerHTML = "Invalid " + fieldname + ":" + inpObj.validationMessage;
       } else {
         //this will clear your error if the input is already correct
         document.getElementById("error-display").innerHTML = "";
       } 
   }
</script>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55564730

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档