1

フォームに情報を記載した電子メールを送信しようとしていますが、チェックボックスの部分を正しく実行していません (完全に機能しません)。私はこれをやっています:

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 ページに移動することです。受信したメールには、チェックボックスの適切な情報が含まれていません。チェックされている場合は「オン」、チェックされていない場合は何もありません。これで明確になることを願っています。前もって感謝します

4

1 に答える 1