다음 코드에는 문의 양식이 있으며 해당 양식에 전자 메일 유효성 검사 스크립트가 있습니다. 유효성 검사 결과 페이지를 다시로드하지 않고 확인이라는 오류 메시지를 div
에 표시하려고합니다. 또한 이메일이 유효하면 메일이 전송되며 감사 메시지가 동일한 div
확인에 표시되기를 바랍니다. 문제는 페이지를 다시로드하지 못하게하고 확인 메시지에 오류 메시지 또는 감사 메시지가 표시되도록하려면 어떻게해야합니까?페이지를 다시로드하지 않고 div에 텍스트 표시
<html>
<body>
<?php
function spamcheck($field) {
// Sanitize e-mail address
$field=filter_var($field, FILTER_SANITIZE_EMAIL);
// Validate e-mail address
if(filter_var($field, FILTER_VALIDATE_EMAIL)) {
return TRUE;
} else {
return FALSE;
}
}
?>
<?php
if (!isset($_POST["submit"])) {
?>
<form method="post" action="<?php echo $_SERVER["PHP_SELF"];?>">
From: <input type="text" name="from"><br>
Subject: <input type="text" name="subject"><br>
Message: <textarea rows="10" cols="40" name="message"></textarea><br>
<input type="submit" name="submit" value="Submit Feedback"><br>
<div id="confirmation" style="display:none" align="center"></div>
</form>
<?php
} else { // the user has submitted the form
// Check if the "from" input field is filled out
if (isset($_POST["from"])) {
// Check if "from" email address is valid
$mailcheck = spamcheck($_POST["from"]);
if ($mailcheck==FALSE) {
echo"
<script>
document.getElementById('confirmation').text ='invalid email';
</script>";
} else {
$from = $_POST["from"]; // sender
$subject = $_POST["subject"];
$message = $_POST["message"];
// message lines should not exceed 70 characters (PHP rule), so wrap it
$message = wordwrap($message, 70);
// send mail
mail("[email protected]",$subject,$message,"From: $from\n");
echo"
<script>
document.getElementById('confirmation').text ='Thank you';
</script>";
}
}
}
?>
</body>
</html>
감사
당신이 양식을 제출해야합니다 당신이 아약스 – mpacheco
을 사용하여 원하는 할 수 AJAX를 사용하면 응답을 받고 적절한 절대 위치 div를 표시합니다 (오류 메시지, 감사합니다.) – Sharky
'document.getElementById ('확인'). innerHTML = '