提交表单时如何调用jquery函数?

我有一份表格,如下所示:

<form method=“post”id=“contactForm”action=”“>
<fieldset class=“contactFieldset”>
<ul>
<李>
<标签for=“contactName”class=“leftLabel”&gt*姓名:&lt/标签>
<输入类型=“text”name=“contactName”id=“contactName”class=“contactInput required”value=”“/>;
&lt/李>
<p&gt&lt/p>
<李>
<label for=“email”class=“leftLabel”&gt*电子邮件:&lt/标签>
<input type=“text”id=“email”name=“email”class=“contactInput email required”value=”“/>;
&lt/李>
<span class=“简单成功”>我很快就会联系的&lt/span>
<李>
<标签for=“subject”class=“leftLabel”&gt*主题:&lt/标签>
<输入类型=“text”name=“subject”id=“subject”class=“contactInput required”value=”“/>;
&lt/李>
<p&gt&lt/p>
<李>
<标签for=“message”class=“leftLabel”>信息:&lt/标签>
<textarea rows=“10”cols=“40”id=“message”name=“message”class=“contactTextarea required”&gt&lt/textarea>
&lt/李>
<p&gt&lt/p>
<李>
<输入类型=“图像”src=”https://stackoverflow.com/questions/8999210/images/submitbutton.png“alt=”提交按钮“name=”提交按钮“class=”提交按钮“id=”提交按钮“>
&lt/李>
&lt/ul>
&lt/字段集>
&lt/表格>

我正试图通过jquery从该表单中提取数据,以便将其传递到php文件并发送电子邮件,但单击按钮时未调用jquery函数。代码如下所示:

$(函数(){
$('.error').hide();
$('.simple suces').hide();
$(“.submit_按钮”)。单击(函数(){
/*获取电子邮件值*/
var email=$(“输入电子邮件”).val();
变量名称=$(“输入#联系人名称”).val();
var subject=$(“输入对象”).val();
var message=$(“输入消息”).val();
//警报(“电子邮件”+电子邮件);
/*检查电子邮件是好是坏*/
(10.com)今年(10.net);(\.edu)教育教育(U.edu);(10.edu);(10.edu)学校教育(12410.edu);(10.米利)教育(12.米利);(10.gov);(10.gov)除除除除除除除除除除除除除除除除除除除除除政府政府之外之外,(10.gov)除除除除除除除除除除除除除除除除除除除除除除政府政府)之外之外之外之外之外之外之外,,,(除除除除除除除除除除除除除除除除除除除除除除除政府政府政府政府)))除除除除除除除除除除除除除除除除除除除除除除除除除除除除除除除除除除除除除除除除除除除除除除除除除除除除除除除除除除除之外之外之外之外之外之外之外之外之外之外之外|(\.xxx)|(\..{2,2}))$)\b/gi);
apos=email.indexOf(“@”);dotpos=email.lastIndexOf(“.”);lastpos=email.length-1;
var badEmail=(apos<1 | | dotpos apos<2 | | lastpos dotpos<2);
/*如果电子邮件不正确,则显示错误消息*/
如果(电子邮件==“”| | |!好电子邮件| |坏电子邮件){
$(“电子邮件”).focus();
返回false;
}
var dataString='email='+email+'\n Name='+Name+'\n Subject='+Subject+'\n message='+message;
警报(数据串);
$.ajax({
类型:“POST”,
网址:“mai.php”,
数据:dataString,
成功:函数(){
$('.simple suces').fadeIn(100.show();
$('.contact_form').fadeOut(100.hide();
$('.simple_error').fadeOut(100.hide();
}
});
返回false;
});
});

你知道我可能做错了什么吗

谢谢

您应该使用文档。就绪阻止,不要使用提交按钮单击;改为使用$.submit()

$(文档).ready(函数(){
$(“此处的表单选择器”).submit(函数(){
//在这里做额外的事情
$.ajax({
类型:“POST”,
url:“mail.php”,
数据:$(this).serialize(),
成功:函数(){
$('.simple suces').fadeIn(100.show();
$('.contact_form').fadeOut(100.hide();
$('.simple_error').fadeOut(100.hide();
}
})
})
})

看看jQuery表单插件,它有类似ajaxSubmit()的方法来减少您的工作量

发表评论