htmlページのフォームからメールに値を送る場合には、 という3つのファイルがあります:test.htmlフォームグループチェックボックス、contact.php、contact.jsajaxを使ってフォームチェックボックスからメールに値を渡す方法
これはcontact.jsある:
$(function() {
$('#contact-form').validator();
$('#contact-form').on('submit', function (e) {
if (!e.isDefaultPrevented()) {
var url = "contact.php";
$.ajax({
type: "POST",
url: url,
data: $(this).serialize(),
success: function (data)
{
var messageAlert = 'alert-' + data.type;
var messageText = data.message;
var alertBox = '<div class="alert ' + messageAlert + ' alert-dismissable"><button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>' + messageText + '</div>';
if (messageAlert && messageText) {
$('#contact-form').find('.messages').html(alertBox);
$('#contact-form')[0].reset();
}
}
});
return false;
}
})
});
これは
$fields = array('name' => 'Name', 'surname' => 'Surname', 'phone' => 'Phone', 'email' => 'Email', 'message' => 'Message' 'checkboxes' => 'Colors');
フォーム基を郵送するために、フォームを処理するためcontact.phpある:
色のオプションを選択するか、メール送信された結果がカラーになった後、すべての三色を選択すると<div class="form-group">
<div class="col-md-12">
<label>Colors:</label>
</div>
<div class="col-md-12">
<label class="checkbox-inline" for="form_checkboxes1">
<input type="checkbox" name="checkboxes[]" id="form_checkboxes1" value="Blue"> + Blue
</label>
<label class="checkbox-inline" for="form_checkboxes2">
<input type="checkbox" name="checkboxes[]" id="form_checkboxes2" value="Green"> + Green
</label>
<label class="checkbox-inline" for="form_checkboxes3">
<input type="checkbox" name="checkboxes[]" id="form_checkboxes3" value="Orange"> + Orange
</label>
</div>
問題がある:今配列
、私は追加contact.php内の行を変更するためにトライ
$checkboxes = implode(',',$_POST['checkboxes']);
しかしcontact.phpでKODのないsuccsess
残りがありません:
try{
$emailText = "text";
foreach ($_POST as $key => $value) {
if (isset($fields[$key])) {
$emailText .= "$fields[$key]: $value\n";}
}
mail($sendTo, $subject, $emailText, "From: " . $from);
$responseArray = array('type' => 'success', 'message' => $okMessage);
}
アレイのように、いずれかのプロセスでは、アレイは '名=「チェックボックス[]」'またはHTMLを変更して、それぞれのチェックボックスに独自の名前すなわち '名前を付けを使って、あなたの配列を渡すために、ブラウザを尋ねたので、 – RiggsFolly
Nikhil Vaghlaのこのコードはうまく動作します。 – tiker