我有这个JS脚本,可以检查表单的所有文件。 问题是没有调用此函数,我不明白为什么。
$j(document).ready(function(){
function validateEmail(email) {
var pattern = "/^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/";
return email.match(pattern);
}
$j('#contact_submit').submit(function(e){
if($j('#contact_name').val() == "") {
e.preventDefault();
alert("Devi inserire un nome per inviare l'email");
return false;
}
if($j('#contact_email').val() == "") {
e.preventDefault();
alert("Devi inserire un contatto email valido per inviare l'email");
return false;
}
if(validateEmail($j('#contact_email').val()) == null)
{
e.preventDefault();
alert("L'email inserita non è in un formato valido");
return false;
}
if($j('#contact_text').val() == "") {
e.preventDefault();
alert("Devi inserire un testo per inviare l'email");
return false;
}
return true;
});
});
这是表格
<form method="post" name="form" action="email.php">
<table width="550" border="0" align="center" cellpadding="4" cellspacing="0">
<td align="right">Nome*</td>
<td><input maxlength="50" id="contact_name" name="contact_name" size="30" /></td>
</tr>
<tr>
<td align="right">Città</td>
<td><input maxlength="50" id="contact_city" name="contact_city" size="30" /></td>
</tr>
<tr>
<td align="right">N. Telefono</td>
<td><input maxlength="20" id="contact_tel" name="contact_tel" size="30" /></td>
</tr>
<tr>
<td align="right">E-mail*</td>
<td><input maxlength="30" id="contact_email" name="contact_email" size="30" /></td>
</tr>
<tr>
<td align="right">Testo *</td>
<td><textarea cols="50" id="contact_text" name="contact_text" rows="5" class="tinymce"></textarea></td>
</tr>
<tr>
<td colspan="2" align="center">
<p>I campi contrassegnati con l'asterisco (*) sono obbligatori</p>
<p> <input id="contact_submit" type="submit" value="Invia" />
<input id="contact_reset" type="reset" value="Annulla" />
</p></td>
</tr>
</table>
</form>
当我点击提交按钮时,表单被调用,数据通过电子邮件发送,避免了jquery功能。 怎么了?
提前致谢
答案 0 :(得分:1)
将ID添加到表单而不是按钮。
<form id="contact_submit" method="post" name="form" action="email.php">
答案 1 :(得分:1)
应该是:
$("form[name=form]").submit(...
提交事件发生在表单上,而不是提交按钮。
答案 2 :(得分:0)
按钮没有submit()
处理程序。使用click()
处理程序。
$j('#contact_submit').click(function(e){
});
答案 3 :(得分:0)
您的表单没有ID。因此,它不会附加你的提交功能。
提交按钮只有一个点击事件,没有提交事件。