gpt4 book ai didi

javascript - PHP JavaScript 验证错误

转载 作者:行者123 更新时间:2023-12-02 18:16:53 24 4
gpt4 key购买 nike

我以为我已经解决了这个问题,但我的问题仍然发生。

每次我单击“发送”时,我的表单仍然会发送。我以为我的 JavaScript 正确验证了表单,但它不起作用,因为我可以在电子邮件字段中放入任何内容,但它仍然会处理。警报仍然有效。我只想使用 PHP 和 JavaScript,不想使用 AJAX 或其他任何东西。这是我的代码:

<?php

$to = 'email@email.com';
$subject = 'Voice4Autism Inquiry';

$FirstName = $_POST['fname'];
$LastName = $_POST['lname'];
$eMail = $_POST['email'];

$message = <<<EMAIL

Hi!<br /><br/>

My name is $FirstName $LastName. I am interseted in your newsletter from Voice4Autism. Please add $eMail to your listserve.<br /><br />

Thank you,<br />
$FirstName $LastName

EMAIL;

$header = "From: $eMail\r\n";
$header = "Content-type: text/html\r\n";

if($_POST){
mail($to, $subject, $message, $header);
}
?>

JavaScript

<script type="text/javascript">
function checkforblank() {
var errormessage = "";

if (document.getElementById('fname').value ==""){
errormessage += "enter your first name \n";
}
if (document.getElementById('lname').value ==""){
errormessage += "enter your last name \n";
}
if (document.getElementById('email').value ==""){
errormessage += "enter your email \n";
}
if (document.getElementById('confirmEmail').value ==""){
errormessage += "confirm your email \n";
}

if (errormessage != ""){
alert(errormessage);
return false;
} else return true;
}

function verifyEmail() {
var status = false;
var emailRegEx = /^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$/i;

if (document.myForm.email.value.search(emailRegEx) == -1) {
alert("Please enter a valid email address.");
return false;
}


if (document.getElementById('email').value == document.getElementById('confirmEmail').value) {
alert("Thank you for your interest!");
return true;
} else {
alert("Email addresses do not match. Please retype them to make sure they are the same.");
return false;
}

return status;
}

function confirmEmailAddresses(){
if (checkforblank() == true) {
if (verifyEmail() == true) {
document.getElementById("myForm").submit();
}
}
}
</script>

HTML

<form name="myForm" action="contact.php" method="post" enctype="application/x-www-form-urlencoded" onsubmit="">
<table width="377" height="96" align="center">
<tr>
<td style="text-align: right">First Name:</td>
<td><label for="FirstName"></label>
<input type="text" name="fname" id="fname"></td>
</tr>
<tr>
<td style="text-align: right">Last Name:</td>
<td><label for="LastName"></label>
<input type="text" name="lname" id="lname"></td>
</tr>
<tr>
<td style="text-align: right">E-mail:</td>
<td><input type="email" name="email" id="email"></td>
</tr>
<tr>
<td style="text-align: right">Confirm E-mail:</td>
<td><input type="email" name="confirmEmail" id="confirmEmail"></td>
</tr>
</table>
<p align="center"><input type="submit" value="Send" onClick="confirmEmailAddresses()"><input type="reset" value="Reset Form"></p>

</form>

最佳答案

我想这就是您正在寻找的:

<script>
function checkforblank() {
var errormessage = "";

if (document.getElementById('fname').value ===""){
errormessage += "enter your first name \n";
}
if (document.getElementById('lname').value ===""){
errormessage += "enter your last name \n";
}
if (document.getElementById('email').value ===""){
errormessage += "enter your email \n";
}
if (document.getElementById('confirmEmail').value ===""){
errormessage += "confirm your email \n";
}

if (errormessage !== ""){
alert(errormessage);
return false;
}
else{return true;}
}

function verifyEmail() {
var status = false;
var emailRegEx = /^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$/i;
var email_reg = document.getElementById('email').value;

if (!email_reg.match(emailRegEx)) {
alert("Please enter a valid email address.");
return false;
}


else if (document.getElementById('email').value !== document.getElementById('confirmEmail').value) {
alert("Email addresses do not match. Please retype them to make sure they are the same.");
status = false;
} else {
alert("Thank you for your interest!");
status = true;
}

return status;
}

function confirmEmailAddresses(){
if((checkforblank())&&(verifyEmail())){return true;}else{return false;}


}

并像这样调用这个函数:

<form name="a" method="post" onSubmit="return confirmEmailAddresses()" action="xyz.html" id="a">

关于javascript - PHP JavaScript 验证错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19204599/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com