我不能在laravel 5.1中使用ajax post复选框值

时间:2015-11-17 08:31:08

标签: php ajax laravel-5.1

我有很多复选框和其他输入,如文字,选择,textarea,...在我的表格中 我发布所有输入数据但复选框不发布数据
我看到了这个链接
  In Laravel 5.1 Can't post value of checkbox 但我不想使用隐藏按钮
有另一种方式?????
我的表格

 <form id='test-form'>
 <input name='text1'>
 <input name='text2'>
 <textarea name='text3'></textarea>
 <input   type="checkbox" name="test1"    >
 <input   type="checkbox" name="test2"    >
 <input   type="checkbox" name="test3"    >
 <input   type="checkbox" name="test4"    >
 <input  type="checkbox" name="test5"    >
 <input   type="checkbox" name="test6"    >
 <input type="button" id='send'>
 </form> 
 <script>
 $(document).on("click", "#send", function () {
    $.ajax({
       type: 'post',
        url: 'add',
        data: $("#test-form").serialize(),
       success: function (result) {
            $('#ajax_div').html(result);
       },
   })
})
</script>

1 个答案:

答案 0 :(得分:1)

您的复选框不会发送任何数据,因为它们没有value属性。

将您的HTML更改为:

 <input   type="checkbox" name="test[]" value="1"   >
 <input   type="checkbox" name="test[]" value="2"   >
 <input   type="checkbox" name="test[]" value="3"  >
 <input   type="checkbox" name="test[]" value="4"   >
 <input  type="checkbox" name="test[]"  value="5"  >
 <input   type="checkbox" name="test[]"   value="6"  >
 <input type="button" id='send'>

请注意,我还将名称更改为test[],这将发送一个包含所有选中复选框的数组。

例如:我选中复选框1和复选框3,服务器将收到的值在$_REQUEST['test'](POST或GET),并且是一个内容为[1,3]的数组。

如果没有标记任何复选框,则不会设置$_REQUEST['test'],您可以使用isset()检查服务器端。