私はhtmlで連絡先フォームを設定しましたが、ユーザーがメッセージを送信するたびにページがリロードされます。私はこれがajaxを使って修正できるいくつかの例を見てきましたが、私はそれについてどうやって行くのか分かりません。これは、一緒にその背後にあるPHPコードで、私のフォームです:HTMLフォーム送信アクション
<form id="email-form" action="index.html" method="post" role="form" target="_blank">
<div class="row">
<div class="col-md-6">
<label for="name">Name</label>
<input type="text" class="form-input" name="name" id="name" value="" placeholder="Enter your name">
</div>
<div class="col-md-6">
<label for="email">Email</label>
<input type="email" class="form-input" name="email" id="email" value="" placeholder="Enter your email">
</div>
</div>
<div class="row">
<div class="col-md-12">
<label for="message">Message</label>
<textarea rows="6" id="message" name="message" class="form-input" placeholder="Talk to us about maths!"></textarea>
</div>
</div>
<div class="row">
<div class="col-md-12">
<button class="main-button" type="submit" id="submit">Send Message</button>
</div>
</div>
</form>
<?php
$name = $_POST['name'];
$email = $_POST['email'];
$message = $_POST['message'];
$from = 'Maths website';
$to = '[email protected]';
$subject = 'Maths Message';
$body = "From: $name\n E-Mail: $email\n Message:\n $message";
if ($_POST['submit']) {
if ($name != '' && $email != '') {
if (mail ($to, $subject, $body, $from)) {
echo '<p>Your message has been sent!</p>';
} else {
echo '<p>Something went wrong, go back and try again!</p>';
}
} else {
echo '<p>You need to fill in all the fields!</p>';
}
}
も - formタグがaction="index.html"
を持っていることに注意してください。これはまだ動作しますか?私は.htaccessファイルにAddType application/x-httpd-php .html .htm
という行を追加しましたが、これがアクションkewordで動作するかどうかはわかりません。あなたに必要な変更を加えたコードの下
action属性とは何の関係はありません。あなたはajaxを呼び出すためにjavascriptを使用する必要があります。 – instead
@instead私は私を始めるための例を教えてもらえますか? –
@Dhruvi Mistryはすでにあなたに簡単な例を与えました。いくつかの変更の後に動作する必要があります。 – instead