我正在使用 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/