0

フォームが送信するメールのチェックボックスの値を表示するのに問題があります。phpとjavascriptAjaxを使用してメールを送信するhtmlフォームフィールドを使用しています。コードフォームのJavascriptを省略した場合、すべての値が「はい」と表示され、コードでは「いいえ」と表示されます。phpは初めてなので、助けていただければ幸いです。ありがとう。

HTML

<form method="post" action="test.php" name="contactform" id="contactform">
<input name="extension" type="checkbox" id="extension" value="extension">Extension<br>
<input name="wallmount" type="checkbox" id="wallmount" value="wallmount">Wall Mount<br>
<input name="deskmount" type="checkbox" id="deskmount" value="deskmount">Desk Mount
</form>

PHP

$extension=($_POST['extension'])?"Extension: Yes":"Extension: No";
$wallmount=($_POST['wallmount'])?"Wallmount: Yes":"Wallmount: No";
$wallmount=($_POST['wallmount'])?"Wallmount: Yes":"Wallmount: No";
$deskmount=($_POST['deskmount'])?"Deskmount: Yes":"Deskmount: No";

$msg.="$extension";;
$msg.="$wallmount";;
$msg.="$deskmount";;

Javascipt

jQuery(document).ready(function(){

$('#contactform').submit(function(){

    var action = $(this).attr('action');

    $('#contactform #submit').attr('disabled','disabled');

    $("#message").slideUp(750,function() {
    $('#message').hide();           

    $.post(action, { 

            extension: $('#extension').serialize(),
        wallmount: $('#wallmount').serialize(),
        deskmount: $('#deskmount').serialize(),

        subject: $('#subject').val(),
        verify: $('#verify').val()
    },
        function(data){
            document.getElementById('message').innerHTML = data;
            $('#message').slideDown('slow');
            $('#contactform #submit').attr('disabled',''); 
            if(data.match('success') != null) $('#contactform').slideUp('slow');

        }
    );

    });

    return false; 

});

});

4

2 に答える 2

0

すべてのチェックボックスの値を含めています。チェックされているかどうかをテストする必要があります。

より一般的には、jQueryにフォームからデータオブジェクトを構築させる必要があります。

$.post(action, $('form').serialize());
于 2012-08-07T12:04:52.450 に答える
0

試す

$.post(action, { 
extension: $('#extension').attr('checked'),
wallmount: $('#wallmount').attr('checked'),
deskmount: $('#deskmount').attr('checked'),
},
于 2012-08-07T12:06:35.107 に答える