2011-05-02 88 views
2

我有这些复选框:为什么输入[]没有提交?

<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> 

但实际上它并不向服务器发送的样式[]数组trought形式。为什么?我该如何解决这个问题?尝试删除e.preventDefault();但没有任何变化...

+3

为什么你的输入有两个'name's? – 2011-05-02 19:36:03

+1

等待,您正在侦听复选框上的“点击”,*阻止默认操作*并提交表单?不会阻止该默认操作*停止选中以*开头的复选框?也许这些应该是提交按钮开始... – Charles 2011-05-02 19:41:19

+0

@Charles:我不明白你是什么意思? – kwichz 2011-05-02 19:46:42

回答

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> 
4

在一个元素上不能有两个name属性。它们发生冲突,最后你会相互覆盖。

3

您在输入上有两次name属性。

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>