为什么我不能收到动态添加输入文本框的POST值?

时间:2011-10-18 20:21:10

标签: php html forms post

我动态添加输入文本框并尝试使用POST方法传递值,但每次提交表单时,我只收到第一个值。

<script type="text/javascript">

function add_ele() {

    // For Internet Explorer
        try {
            el = document.createElement("<input type='text' name='cat[]' >");
        }
        // For other browsers
        catch (e) {
            el = document.createElement('input');
            el.setAttribute('type', 'text');
            el.setAttribute('name', 'cat[]');
        }

    document.getElementById('cate').appendChild(el);
    }
</script>



<form action='submit.php' method='POST' enctype='multipart/form-data'>
<div id='cate' style='width:100px'>
<input type='text' name='cat[]' value='kjkj'>
</div>
</form>
<a href='#' onClick=\"return add_ele()\">Add Another</a>

提交页面:

$p_cat = $_POST['cat'];
foreach ($p_cat as $p_cate ) {

echo "$p_cate . <br>";
}

有人请指导。

2 个答案:

答案 0 :(得分:0)

如果这是您的完整代码,则表示您未设置<input>的{​​{1}}属性,因此无需提交任何内容。这是一个修改过的(并清理过的)示例:

value

答案 1 :(得分:0)

您应该在HTML标记中使用双引号(不是撇号)。这应该工作:

el = document.createElement('<input type="text" name="cat[]" >');

我猜你必须在html标记中使用双引号。这应该有效: