目前我有一个联系表单工作,但在发送成功后我需要隐藏表单本身。我想在'succes'消息运行时打一个javascript调用,但我不知道如何执行此操作。提交成功后隐藏表单
如何隐藏表单,但如果完成则保留成功消息?
在此先感谢!
<?php
//response generation function
$response = "";
//function to generate response
function my_contact_form_generate_response($type, $message){
global $response;
if($type == "success") $response = "<div class='success'>{$message}</div>";
else $response = "<div class='error'>{$message}</div>";
}
//response messages
$not_human = "<div class='alert alert-danger'>Verificatie incorrect.</div>";
$missing_content = "<div class='alert alert-danger'>U heeft niet alle verplichte velden ingevuld</div>";
$email_invalid = "<div class='alert alert-danger'>Incorrect e-mail adres.</div>";
$message_unsent = "<div class='alert alert-danger'>Bericht niet verzonden. Probeer opnieuw.</div>";
$message_sent = "<div class='alert alert-success'>Bedankt, wij nemen binnenkort contact met u op</div>";
//user posted variables
$name = $_POST['message_name'];
$email = $_POST['message_email'];
$phone = $_POST['message_phone'];
$message = $_POST['message_text'];
$human = $_POST['message_human'];
$totalmessage = "
Naam: $name \n
Telefoonnummer: $phone \n
E-mail: $email \n
Bericht: $message \n ";
//php mailer variables
$to = "$curauth->user_email";
$subject = "Bel mij terug";
$headers = 'From: [email protected]' . "\r\n" .
'Reply-To: [email protected]' . "\r\n" .
'X-Mailer: PHP/' . phpversion();
if(!$human == 0){
if($human != 2) my_contact_form_generate_response("error", $not_human); //not human!
else {
//validate email
if(!filter_var($email, FILTER_VALIDATE_EMAIL))
my_contact_form_generate_response("error", $email_invalid);
else //email is valid
{
//validate presence of name and message
if(empty($name)){
my_contact_form_generate_response("error", $missing_content);
}
else //ready to go!
{
$sent = wp_mail($to, $subject, $totalmessage, $headers);
if($sent) my_contact_form_generate_response("success", $message_sent); //message sent!
else my_contact_form_generate_response("error", $message_unsent); //message wasn't sent
}
}
}
}
else if ($_POST['submitted']) my_contact_form_generate_response("error", $missing_content);
?>
<div id="respond">
<?php echo $response; ?>
<form action="<?php the_permalink(); ?>" method="post">
<p><label for="name">Uw naam (verplicht) <span>*</span> <br><input type="text" class="wpcf7-form-control wpcf7-text" name="message_name" value="<?php echo esc_attr($_POST['message_name']); ?>"></label></p>
<p><label for="message_phone">Uw Telefoonnummer (verplicht) <span>*</span> <br><input type="text" class="wpcf7-form-control wpcf7-text" name="message_phone" value="<?php echo esc_attr($_POST['message_phone']); ?>"></label></p>
<p><label for="message_email">Uw e-mail adres: <span>*</span> <br><input type="text" name="message_email" class="wpcf7-form-control wpcf7-text" value="<?php echo esc_attr($_POST['message_email']); ?>"></label></p>
<p><label for="message_text">Uw vraag: <span></span> <br><textarea type="text" name="message_text" class="wpcf7-form-control wpcf7-textarea"><?php echo esc_textarea($_POST['message_text']); ?></textarea></label></p>
<p><label for="message_human">Verificatie: <span>*</span> <br><input type="text" style="width: 60px;" name="message_human"> + 3 = 5</label></p>
<input type="hidden" name="submitted" class="wpcf7-form-control wpcf7-submit" value="1">
<p><input type="submit"></p>
</form>
</div>
@Fester那一个是JavaScript中,在这个问题上没有任何JavaScript的,所以它不是一个重复那。 – Blaatpraat
@Blaatpraat是的,我认为JavaScript标记需要从这篇文章中删除。这都是HTML和PHP。 – Keith
@Fester:好点,让我们删除标签 – Blaatpraat