我有很多复选框和其他输入,如文字,选择,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>
答案 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()
检查服务器端。