1
私は、電子メールと共に送信されるフォームに選択したhtmlアイテムを追加しようとしています。選択リストから値を正しく取得してPHPに渡す方法を知りたいです。私はそれを正確に把握することができませんでした。私は助けていただければ幸いです。以下はPHPの連絡フォームに選択リストを追加する方法
function _(id){ return document.getElementById(id); }
function submitForm(){
_("contact-submit").disabled = true;
_("status").innerHTML = 'please wait ...';
var formdata = new FormData();
formdata.append("n", _("n").value);
formdata.append("e", _("e").value);
formdata.append("t", _("t").value);
formdata.append("w", _("w").value);
formdata.append("m", _("m").value);
var ajax = new XMLHttpRequest();
ajax.open("POST", "contact.php");
ajax.onreadystatechange = function() {
if(ajax.readyState == 4 && ajax.status == 200) {
if(ajax.responseText == "success"){
_("contact-form").innerHTML = '<h2 class="tnx">Thanks '+_("n").value+', we will be in touch soon!</h2>';
} else {
_("status").innerHTML = ajax.responseText;
_("contact-submit").disabled = false;
}
}
}
ajax.send(formdata);
}
HTML
<div class="cat-select">
<label class="cat-selects" for="subject"><span>Area of Interest</span>
<select name="subject" class="select-field" id="s">
<option value="General Inquiry">General Inquiry</option>
<option value="Elderly Care">Elderly Care</option>
<option value="Child Care">Child Care</option>
</select>
</label>
</div>
PHP
<?php
if(isset($_POST['n']) && isset($_POST['e']) && isset($_POST['t']) && isset($_POST['w']) && isset($_POST['m'])){
$n = $_POST['n']; // HINT: use preg_replace() to filter the data
$e = $_POST['e'];
$t = $_POST['t'];
$w = $_POST['w'];
$m = nl2br($_POST['m']);
$to = "[email protected]";
$from = $e;
$subject = 'Contact Form Message';
$message = '<b>Name:</b> '.$n.' <br><b>Email:</b> '.$e.' <p>'.$s.' '.$m.'</p>';
$headers = "From: $from\n";
$headers .= "MIME-Version: 1.0\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\n";
if(mail($to, $subject, $message, $headers)){
echo "success";
} else {
echo "The server failed to send the message. Please try again later.";
}
}
?>
あなたの問題が何であるか、何をしようとしているのかは分かりません。選択ボックスを参照するコードはどこにも表示されません。 –
PHPとJavascriptファイルの選択ボックスを正しく追加する方法を知りたい@MagnusEriksson –
「選択ボックスを追加する」という意味が明確ではありません。コピー/貼り付けを試しましたか?または、選択した値を取得してPHPコードに渡すことについて話していますか?あなたは、あなたの質問を書き直し、あなたがしようとしていること、実際の問題が何であるか、これまでに試したことを明確にする必要があります。 –