我有这些复选框:
<input name="linkStyle" type="checkbox" name="style[]" value="Style1" />
<input name="linkStyle" type="checkbox" name="style[]" value="Style2" />
<input name="linkStyle" type="checkbox" name="style[]" value="Style3" />
和这个jQuery函数:
<script type="text/javascript">
$(document).ready(function() {
$('input[name=linkStyle]').click(function(e) {
e.preventDefault();
$('#browseForm').submit();
});
});
</script>
但实际上它并没有向服务器发送样式[]数组。为什么?我该如何解决这个问题呢?试图删除e.preventDefault();但没有什么变化......
答案 0 :(得分:4)
一个元素上不能有两个name
属性。他们发生冲突,你最终会覆盖另一个。
答案 1 :(得分:3)
您的输入有两次name
属性。
答案 2 :(得分:3)
就像已经声明你有两个名字所以我建议将一个名称改为像这样的类
<input class="linkStyle" type="checkbox" name="style[]" value="Style1" />
<input class="linkStyle" type="checkbox" name="style[]" value="Style2" />
<input class="linkStyle" type="checkbox" name="style[]" value="Style3" />
然后你可以定位课程
<script type="text/javascript">
$(document).ready(function() {
$('.linkStyle').click(function(e) {
e.preventDefault();
$('#browseForm').submit();
});
});
</script>
答案 3 :(得分:2)
尝试 -
<强> HTML 强>
<input class="linkStyle" type="checkbox" name="style[]" value="Style1" />
<input class="linkStyle" type="checkbox" name="style[]" value="Style2" />
<input class="linkStyle" type="checkbox" name="style[]" value="Style3" />
jQuery
<script type="text/javascript">
$(document).ready(function() {
$('.linkStyle').click(function(e) {
e.preventDefault();
$('#browseForm').submit();
});
});
</script>