由javascript缺少帖子值更新的表单

时间:2009-10-18 11:10:48

标签: php javascript

我有一个表单,在提交之前我通过JavaScript添加了一个元素。

 parent.document.getElementById('submitcomment' + id).innerHTML = '<img class="image_real" src="/images/site.png" alt="Mostly Dirty," />
<input class="real" name="freshness" type="text" size="5" maxlength="6" />
<a href="#" onClick="submitComment('+[id]+'); return false;">
<img id="submitcommentimg<?php echo $id; ?>" src="images/check.png" alt="Comment!" border="0"></a>
<div class="submitcommentalert" id="comment_alert_<?php echo $id; ?>" style="display:none">Comment Posted!</div>';

提交表单时似乎缺少'freshness' <input> element

如果我尝试访问$_POST['freshness'];,那么它就是空的。

2 个答案:

答案 0 :(得分:0)

新鲜度中没有值属性,这可能是问题所在。您是否检查过$ _POST ['fresh']甚至存在(isset())?

答案 1 :(得分:0)

执行上述代码时,DOM是否会使用新添加的内容进行更新?还要检查FireBug实际发布到服务器的内容。您还在使用parent.document - 可能会出现一些iframe个问题吗?


更新:

尝试重现问题我已经提出了这个按预期工作的片段(当你提交表单时,freshness输入的值被正确传递):

<html>
<head>
 <title>Test</title>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <script type="text/javascript">
    function addDynamicContent() {
        document.getElementById('myForm').innerHTML = 
            '<input name="freshness" type="text" />' + 
            '<a href="#" onclick="return submitComment();">Submit</a>'; 
    }
    function submitComment() {
        document.getElementById('myForm').submit();
        return false;
    }
    </script>
</head>
<body>

<input type="button" value="Add dynamic content" onclick="addDynamicContent();" />
<form id="myForm"></form>

</body>
</html>

现在你可以根据自己的需要调整它。