为什么没有提交输入[]?

时间:2011-05-02 19:34:26

标签: php javascript jquery

我有这些复选框:

<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();但没有什么变化......

4 个答案:

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