2011-03-08 167 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! 
    }); 
});