一些复选框(已由Jquery检查。但我取消选中它们。)在表单提交中发布到服务器。但是我没有检查它。请参阅下文。
这是javascirpt。
$('.checkbox').change(function(){
alert('hi');
});
$('.checkbox[data-img=a]').click();
$('.checkbox[data-img=b]').click();
这是HTML。
<input type='checkbox' class='checkbox' data-img='a' value='a' name='name' />a
<input type='checkbox' class='checkbox' data-img='b' value='b' name='name' />b
<input type='checkbox' class='checkbox' data-img='c' value='c' name='name' />c
<input type='checkbox' class='checkbox' data-img='d' value='d' name='name' />d
我从jquery调用cick事件。所以,a和b是alerady检查。在表单提交之前,我取消选中a和b并检查c和d。但是当表单提交时,我有a,b,c和d。实际上,我应该只得到c和d。
我使用ASP。当我在服务器上捕获它们时,会出现以下结果。
name = Request.Form("name") ' name = "a, b, c, d"
当我删除这个“$('。复选框[data-img = a]')时,点击();”,它运作良好。
name = Request.Form("name") ' name = "c, d"
我不知道为什么会这样?有人请解释一下。感谢。
答案 0 :(得分:2)
您的name
属性应该与name[]
类似。这是应该如何
<input type='checkbox' class='checkbox' data-img='a' value='a' name='name[]' />a
<input type='checkbox' class='checkbox' data-img='b' value='b' name='name[]' />b
<input type='checkbox' class='checkbox' data-img='c' value='c' name='name[]' />c
<input type='checkbox' class='checkbox' data-img='d' value='d' name='name[]' />d
当您提交表单时,您将获得name
数组的复选框结果,您可以在后端处理它。
修改强>
不要使用click()
功能,请使用以下行代码&#34; a&#34; &安培;已检查&#34; b&#34; 值
$('.checkbox[data-img=a]').prop('checked',true);
$('.checkbox[data-img=b]').prop('checked',true);