フォームに情報を記載した電子メールを送信しようとしていますが、チェックボックスの部分を正しく実行していません (完全に機能しません)。私はこれをやっています:
HTML:
<label for="rimg">Request images</label>//display:none; for this
<span>Request Images</span><input type="checkbox" name="rimg" id="rimg">
Jquery (ready 関数の後):
var rimg = 'Images are NOT requested';
if ($('#rimg').val()) {
rimg = 'images ARE requested'; //changes what is inside rimg if checked
}
アヤックス:
//organize the data properly
var data = 'name=' + name.val() + '&email=' + email.val() + '&phone='
+ phone.val() + '&rimg=' + rimg.val() + '&message=' + encodeURIComponent(message.val());
//start the ajax
$.ajax({
//this is the php file that processes the data and send mail
url: "process.php",
//GET method is used
type: "GET",
//pass the data
data: data,
//Do not cache the page
cache: false,
//success
success: function (html) {
//things in here
}
PHP:
//Retrieve form data.
//GET - user submitted data using AJAX
//POST - in case user does not support javascript, we'll use POST instead
$rimg = ($_GET['rimg']) ?$_GET['rimg'] : $_POST['rimg'];
$message = '
//things in here
<tr><td colspan="2">' . $rimg . '</td></tr>
</table>
</body>
</html>';
問題は、フォームが送信されると、GET ではなく POST として取得されるため、.php ページに移動することです。受信したメールには、チェックボックスの適切な情報が含まれていません。チェックされている場合は「オン」、チェックされていない場合は何もありません。これで明確になることを願っています。前もって感謝します