我在使用php和javascript Ajax發送電子郵件的html表單字段中填寫我的複選框的值時遇到了一些麻煩。如果我將代碼形式保留爲Javascript,則所有值均顯示爲「是」,代碼顯示爲「否」。我是PHP新手,希望得到任何幫助。謝謝。使用php和javascript Ajax發送複選框值時遇到麻煩
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;
});
});
感謝答覆,我是否需要更換了 '擴展:$(' #擴展 ')VAL(),' 你的代碼 '的數據:$(' myformname」 )。連載()'? – user1581821 2012-08-07 12:18:53
哦,沒有注意到你使用$ .post而不是$ .ajax。編輯應該修復它。 – Quentin 2012-08-07 12:19:58
如果我用你的代碼替換'$ .post(action,'),我得到一個語法錯誤 – user1581821 2012-08-07 12:35:12