2011-03-08 166 views
2

我有一個ajax表單提交工作正常,但我已經增加了id到我的複選框,我需要根據提交的複選框進行提交,然後當用戶提交選中的選項時數據傳遞給我的PHP腳本。 如何通過ajax將所有選中的複選框傳遞給我的php腳本?jquery通過ajax遞交表單提交表單的編號

$(function() { 
    $(".submit").click(function() { 
     var pageReturn = $("#pageReturn").val(); 
     var sendCheck = $("#sendCheck").val(); 
     var dataString = 'pageReturn=' + pageReturn + '&sendCheck=' + sendCheck; 

     if (emailLink == '' || pageReturn == '' || sendCheck == '') { 
      $('.success').fadeOut(200).hide(); 
      $('.error').fadeOut(200).show(); 
     } else { 
      $.ajax({ 
       type: "POST", 
       url: "phpscripts/compose.php?artid=<?php echo $artid; ?>&userart=<?php echo $_GET['userart'];?>", 
       data: dataString, 
       cache: false, 
       success: function() { 
        $('.success').fadeIn(200).show(); 
        $('.error').fadeOut(200).hide(); 
       } 
      }); 
     } 
     return false; 
    }); 
}); 

通過所有複選框,我會添加+1到我的複選框被傳遞像 var sendCheck = $("#sendCheck").val()+1;?我的複選框

我的HTML代碼如下所示

<input name="sendCheck" id="sendCheck<?php echo $i++; ?>" class="reccomendCheck" type="checkbox" value="<?php echo $row_ArtContact['contact_id'];?>" />

複選框以遞增的需要是經過我的PHP腳本值。

理論上可以有無限數量的複選框,用戶可以隨機檢查並需要被超支。

+2

好了,所以它不工作?問題是什麼? – 2011-03-08 22:37:04

+0

如何通過ajax將所有選中的複選框傳遞給php腳本?我在某處添加+1嗎? – 2011-03-08 23:39:28

回答

2

使用serialize函數來生成您的數據。

看看這個例子:點擊幾個複選框,看看會發生什麼!

http://jsfiddle.net/VeBDk/

例子:

HTML:

<form> 
    Check 1<input type="checkbox" name="check1" id="check1" value="1"/> 
    Check 2<input type="checkbox" name="check2" id="check2" value="2"/> 
    Check 3<input type="checkbox" name="check3" id="check3" value="3"/> 
    Check 4<input type="checkbox" name="check4" id="check4" value="4"/> 
    Check 5<input type="checkbox" name="check5" id="check5" value="5"/> 
    <button>Submit</button> 
</form> 

的jQuery:

$(document).ready(function(){ 
    var data = $('form').serialize(); 
    $.post('script.php', data, function(){ 
    //success! 
    }); 
});