我仍然遇到联系表单的问题。如果您按提交按钮,邮件将被发送到我的邮箱,但表单字段不会清除/重置。我尝试过在网上找到很多不同的解决方案,比如onClick-events,但没有什么对我有用。它必须全部取决于提交按钮...此外,收件人的“姓名,主题和邮件”不会转发到我的邮箱:(
有人可以帮助我吗?
非常感谢您的支持!
HTML:
<div class="seven columns bigpadding" data-role="form">
<h3 class="extrabold blacktext midbottommargin">Ich freue mich über Ihre Nachricht.</h3>
<p class="meta">
Bitte füllen Sie die nachfolgenden Felder aus. <br> Ich werde mich schnellstmöglich bei Ihnen melden.
</p>
<form method="post" action="sendemail.php" id="contactform">
<div class="row">
<dl class="field eight columns">
<dd><label for="name">Name*</label></dd>
<dt class="text"><input type="text" name="name" id="name"/>
</dt>
<dd class="msg">Da lief was schief :-(.</dd>
</dl>
</div>
<div class="row">
<dl class="field eight columns">
<dd><label for="email">E-mail*</label></dd>
<dt class="text"><input type="text" name="email" id="email"/>
</dt>
<dd class="msg">Da lief was schief :-(</dd>
</dl>
</div>
<div class="row">
<dl class="field eight columns">
<dd><label for="subject">Betreff</label></dd>
<dt class="text"><input type="text" name="subject" id="subject"/>
</dt>
<dd class="msg">Da lief was schief :-(</dd>
</dl>
</div>
<dl class="field row">
<dd><label for="message">Ihre Nachricht*</label></dd>
<dt class="textarea">
<textarea name="message" id="message"></textarea></dt>
<dd class="error msg">Da lief was schief :-(</dd>
</dl>
<div class="row">
<input class="submit three columns" type="submit" value="Abschicken" id="submit"/>
</div>
</form>
<!-- END FORM -->
<div class="row midpadding" id="success">
</div>
</div>
PHP:
<?php
ini_set ( 'display_errors', true );
define("CONTACT_EMAIL", 'test@test.com');
function ValidateEmail($email)
{
$regex = '/([a-z0-9_.-]+)'. # name
'@'. # at
'([a-z0-9.-]+){2,255}'. # domain & possibly subdomains
'.'. # period
'([a-z]+){2,10}/i'; # domain extension
if($email == '') {
return false;
}
else {
$eregi = preg_replace($regex, '', $email);
}
return empty($eregi) ? true : false;
} // end function ValidateEmail
error_reporting (E_ALL ^ E_NOTICE);
$post = isset( $_POST['name'] );
if($post) {
//include 'functions.php';
$name = stripslashes($_POST['name']);
$email = trim($_POST['email']);
$subject = stripslashes($_POST['subject']);
$message = stripslashes($_POST['message']);
$error = '';
if(!$name) {
if (!$error) $error .= '<p><ul style="list-style:none;">';
$error .= '<li>Bitte geben Sie Ihren Namen ein.</li>';
}
if(!$email) {
if (!$error) $error .= '<p><ul>';
$error .= '<li>Bitte geben Sie eine gültige E-Mail Adresse ein.</li>';
}
if($email && !ValidateEmail($email)) {
if (!$error) $error .= '<p><ul>';
$error .= '<li>Bitte geben Sie eine gültige E-Mail Adresse ein.</li>';
}
if(!$message) {
if (!$error) $error .= '<p><ul>';
$error .= "<li>Bitte geben Sie eine Nachricht ein.</li>";
}
if(!$error) {
$mail = mail(CONTACT_EMAIL, $subject, $message,"X-Mailer: PHP/" . phpversion());
if($mail) {
echo '<h6>Vielen Dank für Ihre Nachricht. Ich werde mich<br>so schnell wie möglich bei Ihnen melden.</h6>';
} else {
echo '<div class="notification_error">Da lief was schief! :-(</div>';
}
}
else
{
$error .= '</ul></p>';
echo '<div class="notification_error">'.$error.'</div>';
}
}
?>
答案 0 :(得分:0)
替换此行
<form method="post" action="sendemail.php" id="contactform" onsubmit="this.reset();">