jquery - 错误消息未出现

标签 jquery html

我正在使用 JS 验证表单。如果名称等未填写,验证应该使错误消息出现在元素之后。

var contactModal = '<p class="name">Name: <input type="text" autofocus name="name" id="name" class="form-control" id="fd">  <span class="error"></span></p>
<p class="email">Email: <input type="email" name="email" id="email" class="form-control"><span class="error"></span><br> <div class="input-group"><span class="input-group-addon"><input type="checkbox" aria-label="..." name="copy"></span> <input type="text" readonly disabled class="form-control" aria-label="" value="Check here for a copy of your message." style="border:1px solid #ccc !important;cursor:default !important;"></div></p>
<p class="msg">Message: <div class="textarea form-control" id="msg" name="msg" contentEditable style="height:175px;"></div> <span class="error"></span></p></div>';
$("body").append(contactModal);
$("a#contact").click(function(e){ e.preventDefault(); $(".cont").modal(); });
// Handle contact form submission
$(".cont form").submit(function(e){
   var name = $("#name").val();
   var email = $("#email").val();
   var msg = $("#msg").html();
   var errorMsg;
   if(name == "" || email == "" || msg == ""){
     e.stopPropagation();
     e.preventDefault();
     if(name == ""){
       $(".name .error").html("Please enter a name.");
     }
     if(email == ""){
       $(".email .error").html("Please enter an email address.");
     }
     if(msg == ""){
       $(".msg .error").html("Please write a message.");
     } else {
       $(".cont").modal('hide');
     }

   }
});

添加了换行符以提高可读性。
前两个 - 姓名和电子邮件 - 如果未填写,则会收到错误消息,但不会收到错误消息。为什么那个不工作,我怎样才能让它工作。
更新:
表单没有提交,所以错误在那里,但消息没有出现。

最佳答案

$(".msg .error").html("Please write a message.");

选择器“.msg .error”不正确(.msg 和.error 是兄弟)

$("#msg+.error").html("Please write a message.");

作品

关于jquery - 错误消息未出现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33092518/

相关文章:

javascript - 类型错误 : Cannot read property 'top' of undefined jQuery

javascript - 在三元条件下返回新的 promise Q

javascript - 计算 <p> 中没有 id 或类的 <img>

flash - 有没有一种方法可以使用自定义的NON FLASH皮肤嵌入youtube视频,以便在我的常规网站和移动网站上都支持该视频?

javascript - 无法使用ajax从javascript调用c#方法

javascript - 如何只包含应用程序使用的 jQuery 部分

html - 如何在图像上覆盖 <p> 中的文本

javascript - 如何为多个背景设置动画背景大小

html - 设置 HTML 表格中单行的样式

javascript - 仍然无法使用 JavaScript 获取 HTML 元素的原始高度