【发布时间】:2016-05-17 15:01:06
【问题描述】:
我试图让 jQuery Validate 错误类以某种方式显示,但很难让它工作。我希望验证消息直接出现在我的输入下。现在它们出现在我的输入下,但是整个输入跳到下一行。
输入自然是这样设置的:
姓名 -- 号码 -- 电子邮件
我希望消息显示如下:
姓名 -- 号码 -- 电子邮件
消息 -- 消息 -- 消息
现在它正在做:
名字
留言
数字
留言
电子邮件
留言
HTML 如下所示:
<form action="" method="POST" id="contact-form1">
<input type="text" class="contact-input show-input" name="name" id="name" placeholder="Name *">
<input type="text" class="contact-input show-input" name="number" id="number" placeholder="Phone Number *">
<input type="text" class="contact-input show-input" name="email" id="email" placeholder="Email *">
<input type="text" class="contact-input hidden-input" placeholder="Company Name">
<input type="text" class="contact-input hidden-input" placeholder="Title">
<input type="text" class="contact-input hidden-input" placeholder="Referral">
<textarea class="contact-message" rows="10" name="message" id="message" placeholder="Your Message*"></textarea>
<input type="submit" value="Submit" id="contact-submit">
</form>
我尝试在每个输入周围包装 div,但这会将每个输入以块格式放在一个新行上。
这是一个小提琴,看看它在做什么:Fiddle
我做错了什么?
更新:
submitHandler: function(form) {
var name = $("#name").val();
var number = $("#number").val();
var email = $("#email").val();
var message = $("#message").val();
/*var company_name = $("#company_name");
var title = $("#title");
var referral = $("#referral");*/
//var targeted_popup_class = jQuery(this).attr('data-popup-open');
$.ajax({
url: "map-send.php",
type: "POST",
data: {
"name": name,
"number": number,
"email": email,
"message": message
/*"company_name": company_name,
"title": title,
"referral": referral*/
},
success: function(data) {
在上面的代码中,您将看到被注释掉的项目。这些是未经验证的项目。出于某种原因,当我删除评论标签时,我的页面就死了。没有错误,它只是在我提交页面时冻结。我尝试将变量放在验证标签之外,但它仍然没有帮助。你知道为什么这会杀死页面吗?
【问题讨论】:
-
您的编辑仅供参考:您在三个已注释掉的项目上缺少
.val()。但是,正如对我的回答的评论中所述,只需使用 jQuery.serialize()而不是指定每个值。 -
@Sparky 我没有使用
.val(),因为我不想验证这些项目。我只想通过ajax发送数据。这让我有点困惑。 -
jQuery
.val()检索“值”。它与验证完全无关。
标签: jquery html css jquery-validate