javascript - 我们如何使用 jquery/javascript 插件在文本框下方显示错误消息?

标签 javascript html css

我正在尝试在“edit-first-name”字段下方显示错误消息。但它不显示错误消息。有人可以告诉我哪里出错了吗?

<HTML>
    <div class= "col-xs-12 col-sm-12 col-md-6 highlight" > 
    <form id= "editform" class= "userform" method= "post"> 
    <label class= "bold" for= "first-name" > First Name: </label> 
    <input id= "edit-first-name" type= "text" name= "first-name" 
     maxlength= "128" class= "required"
    data-msg= "Please provide First Name" placeholder= "First Name" value= ""> 
    <div class="row md-gray-bg margin-md-0">
    <div class="col-xs-12 col-sm-12 col-md-12">
        <input id="cbot-save-ticket" tabindex="100" type="submit"
               class="button pull-right ignore"
               value="Save Ticket"/>
    </div>
</HTML>

Javascript:
<script type="text/javascript">
    document.getElementById("editform").addEventListener('submit',
    function  (event) {
    var focusSet = false;
    var fname = document.getElementById("edit-first-name");
    if(!(fname.value.length))
     {
       fname.after().html("<div class='msg-error' style='color:red;
       margin-bottom: 20px;'>Please enter email</div>");
        event.preventDefault();
        fname.focus();

     }
     });

最佳答案

after() 是一个 jquery 方法。 after() 方法在被选元素之后插入指定的内容,但是你需要包含 jquery 才能使用它。 可以简单的把错误信息div隐藏起来,当验证失败的时候,显示错误信息div。下面是相同的代码片段。

document.getElementById("editform").addEventListener('submit',
    function  (event) {
    var focusSet = false;
    var fname = document.getElementById("edit-first-name");
    if(!(fname.value.length))
     {
        document.getElementById('msg-error').style.display = 'block';
        event.preventDefault();
        fname.focus();

     }
     });
<div class= "col-xs-12 col-sm-12 col-md-6 highlight" > 
    <form id= "editform" class= "userform" method= "post"> 
    <label class= "bold" for= "first-name" > First Name: </label> 
    <input id= "edit-first-name" type= "text" name= "first-name" 
     maxlength= "128" class= "required"
    data-msg= "Please provide First Name" placeholder= "First Name" value= ""> 
      <div class='msg-error' id='msg-error' style='color:red;margin-bottom: 20px;display:none;'>Please enter email</div>
    <div class="row md-gray-bg margin-md-0">
    <div class="col-xs-12 col-sm-12 col-md-12">
        <input id="cbot-save-ticket" tabindex="100" type="submit"
               class="button pull-right ignore"
               value="Save Ticket"/>
    </div>

关于javascript - 我们如何使用 jquery/javascript 插件在文本框下方显示错误消息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37341771/

相关文章:

html - 如何在 2 个单元格上显示文本?

javascript - 根据选择值隐藏 jQuery 中的元素

css - 如何添加/删除动态变量?

javascript - 根据 Firebase 数据创建列表

javascript - angular 4 如何在外部js中调用一个函数

html - 将所有 UL LI 元素对齐在一行中并仅将 CSS 应用于 UL?

jquery Ajax - 如何在更改选择元素时复制发布带有名称的按钮(ajax 请求中的动态键名称)

html - 将输入和按钮对齐在一条线上

javascript - 如何让 Google map 在 Visual Studio Web 表单中工作?

javascript - 来回制作动画循环