几乎是所有这一切的新手,所以试图让我的代码尽可能简单。我有一个表单,提交后会向我发送一封电子邮件,尽管我希望用户在提交之前必须填写所有字段,因此我有以下脚本
<script type='text/javascript'>
$('#mailform').submit(function() {
if (('#emailName' || '#emailEmail' || '#emailSubject').val() == "") {
alert('Please fill out all fields before clicking submit');
return false;
}
else {
alert('Your Email has been sent');
}
});
</script>
这是我的 HTML
<form id="mailform" method="" action="http://www.mysiteaddress.co.uk/sendmail.php">
Your Name: <input id="emailName" name="yourName" type="text" /><br />
Your Email: <input id="emailEmail" name="yourEmail" type="text" /><br />
Subject: <input id="emailSubject" name="subject" type="text" /><br />
Message:<br />
<textarea name="message" rows="15" cols="40"></textarea><br />
<input type="submit" />
</form>
但是,当我单击提交时,表单会完全忽略 javascript 并运行 php.ini。为什么我的 javascript 没有先运行?
验证现在正在工作,但是现在当它运行我的 php 时,它不会将表单邮寄给我,而是直接跳转到我的 else 语句的标题部分
if ( preg_match( "/[\r\n]/", $name ) || preg_match( "/[\r\n]/", $email ) ) {
header ( "Location: http://www.mysite.co.uk/contactme" );
}
else {
mail( "me@mysite.co.uk", "$name <$subject>",
$message, "From: $name <$email>" );
header ( "Location: http://www.mysite.co.uk/contactme" );
}
?>