私はこの問題の解決に2日間以上挑戦してきました。スタック上のすべての関連記事を閲覧しましたが、運はありません。私は、データを受け入れるフォームを持っていますし、それを処理するPHPプロシージャに渡します。これは、htmlのおかげです。私はJavascriptやJQueryに慣れていませんが、時間を費やしても動作させることができます。私は無駄にしようとした多くの提案と共に、ここにコードを掲載しています。私の悲惨さを終わらせる助けに感謝します。ありがとう。提出後、フォームデータをクリアする方法データが渡された後
HTML
<form method='post' action='contact-form-proc.php' name='contactform' id='contactform' onsubmit="setTimeout('clear_form()',200);return true">
<p>
<label for='fullname'>Your Name:</label><br/>
<input type='text' name='fullname' />
</p>
<p>
<label for='email' >Email Address:</label><br/>
<input type='text' name='email' />
</p>
<p>
<label for='mobile' >Mobile:</label><br/>
<input type='text' name='mobile' />
</p>
<p>
<label for='checkIndate' >Check in Date:</label><br/>
<input type='text' name='checkIndate'/>
</p>
<p>
<label for='comment' >Comment:</label><br/>
<textarea name='comment' cols='25' rows='3'></textarea>
</p>
<input type="image" src="submit.gif" name="submit"/>
<!--<input type='submit' name='submit' value='' id="submit" />-->
<input type="hidden" name="submit" value="Submit"/>
</form>
PHP
<?php
if(empty($_POST['submit']))
{
echo "Form is not submitted!";
exit;
}
if(empty($_POST["fullname"]) ||
empty($_POST["email"]))
{
echo "Please fill the form";
exit;
}
$name = $_POST["fullname"];
$email = $_POST["email"];
$mobile = $_POST["mobile"];
$checkindate = $_POST["checkIndate"];
$comment = $_POST["comment"];
mail('[email protected]' , 'New form submission' , "New form submission: Name: $name, Email:$email, Mobile: $mobile, CheckIndate:$checkIndate, Comment:$comment" );
header('Location: thank-you.html');
?>
これらは私が試したものです:
<script type="text/javascript">
/*$('#contactform').trigger("reset");*/
function clear_form() {
/* document.contactform.reset();
document.getElementById("contactform").reset();*/
/*$(window).load(function() {
$('#contactform input[type="text"]').val('');*/
$(window).load(function() {
$('#contactform').children('input').val('');
}
});
}
</script>
フォームデータをクリアすると、テキストエリアが追加され、それも機能しました。しかし、フォームは提出されていません.. !!!!しかし、ありがとう。 – RKD
あなたの問題は解決しましたか?あなたはhtmlからこのアクションを削除しましたか? onsubmit = "setTimeout( 'clear_form()'、200); trueを返します。 すべてのコードを自分のロケールストレージにコピーしても問題ありません。 –
また、私の変更は送信するフォームに影響しませんので、問題の解決に役立つ情報を教えてください。 –