私はWeb開発の経験があまりないことから始めます。この質問がかなりばかげているように聞こえるか、解決策が明らかである場合は言い訳をしますが、このサイトまたはGoogleで見つけることができないようです. 基本的に、私は HTML フォームを持っていて、特定の電子メール アドレスにデータを送信する PHP スクリプトにデータを投稿したいと考えています。これは HTML コードです。
<form id="contact-form" name="contactform" action="">
<fieldset>
<p class="contact-name">
<input id="name" type="text" placeholder="Full Name" value="" name="name"/>
<label class="error" for="name" id="name_error">This field is required.</label>
</p>
<p class="contact-email">
<input id="email" type="text" placeholder="Email Address" value="" name="email"/>
<label class="error" for="email" id="email_error">This field is required.</label>
</p>
<p class="contact-message">
<textarea id="message" placeholder="Your Message" name="message" rows="15" cols="40"></textarea>
<label class="error" for="message" id="message_error">This field is required.</label>
</p>
<p class="contact-submit">
<input type="submit" value="Submit" id="submit_button" class="button">
</p>
</fieldset>
</form>
これは、データを検証するための jQuery & Ajax コードです。
$(document).ready(function() {
$('.error').hide();
$(".button").click(function() {
//validate process
var name = $("input#name").val();
if (name == "") {
$("label#name_error").show();
$("input#name").focus();
return false;
}
var email = $("input#email").val();
if (email == "") {
$("label#email_error").show();
$("input#email").focus();
return false;
}
var message = $("textarea#message").val();
if (message == "") {
$("label#message_error").show();
$("textarea#message").focus();
return false;
}
});
var dataString = 'name='+ name + '&email=' + email + '&message=' + message;
$.ajax({
type: "POST",
url: "_include/php/contact.php",
data: dataString,
});
return false;
});
ここで発生する問題は、JS コードが実行されないという事実ではありませんが、ポストは次のように現在のリンクにパラメーターを追加します: http://website.com/index.html?name=test&email=email&message=msg
しかし、_include/php/contact.php にある PHP ファイルにパラメーターを追加する必要があります。
更新: さまざまな回答を試してみましたが、すばらしい回答に感謝しますが、まだ行き詰っています。フォームのアクションを PHP ファイルに設定することを選択できますが、それはページが更新されることを意味し、これは避けたいことです。他の js スクリプトは、パラメーターが間違ったリンクに追加されているという事実を変更していないようです..