使用Javascript将文本字段添加到HTML表单时出错

使用Javascript将文本字段添加到HTML表单时出错,javascript,php,html,function,uitextfield,Javascript,Php,Html,Function,Uitextfield,我正在建立一个移动网络服务,允许员工在手机上输入工作时间。我创建了一个由php循环函数构造的表单,该函数循环一周中所有日期的数组。这非常好,表单如下所示: 现在,如您所见,每天都有一个+按钮。我想让用户可以通过点击这个按钮来添加文本字段。在每个文本字段中,他们可以添加工作时完成的任务的描述 这是我要用于此的代码: <input id="<? echo $i;?>" type="button" class="plusButton" onclick="addField(<?

我正在建立一个移动网络服务,允许员工在手机上输入工作时间。我创建了一个由php循环函数构造的表单,该函数循环一周中所有日期的数组。这非常好,表单如下所示:

现在,如您所见,每天都有一个+按钮。我想让用户可以通过点击这个按钮来添加文本字段。在每个文本字段中,他们可以添加工作时完成的任务的描述

这是我要用于此的代码:

<input id="<? echo $i;?>" type="button" class="plusButton" onclick="addField(<?echo $i; ?>);"/>

        <script type="text/javascript">
            function addField(p) {


                var newField = document.createElement("input");
                newField.type = 'text';
                newField.width = '50px';
                newField.height = '20px';

                var weekDays = new Array();

                <?

                for($q = 0; $q < count($weekDays); $q++) { ?>
                    weekDays.push(<? echo $weekDays[$q]; ?>);
                <? } ?>

                document.getElementById(weekDays[p]).innerHTML.appendChild(newField);
                alert(weekDays[p]);
            }
        </script>

我不知道我做错了什么,我在网上花了一天多的时间试图解决这个问题。如果您能帮助解决此问题,我们将不胜感激

您可能要替换:

document.getElementById(weekDays[p]).innerHTML.appendChild(newField);
与:


Element.innerHTML
返回一个字符串。不能对字符串调用
appendChild

它看起来也像
document.getElementById(平日[p])
返回null。确保
p
weekdays[p]
没有未定义,并且
getElementById
实际返回所需的元素。它似乎确实得到一个空对象,但我正确定义了所有对象。我已经试过把这个代码从循环中去掉,但这也不是问题所在。好吧,我已经修复了它,我必须在工作日执行
push(“”)
而不是
工作日.push()谢谢!
document.getElementById(weekDays[p]).innerHTML.appendChild(newField);
document.getElementById(weekDays[p]).appendChild(newField);