我正在构建一个移动网络服务,允许员工在手机上输入工作时间。我创建了一个由 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>
不是说 $weekDays
是一个 PHP 数组,包含周一到周日(荷兰语)。
问题: 由于某种原因,我不断收到此错误:
TypeError: 'null' is not an object (evaluating 'document.getElementById(weekDays[p]).innerHTML')
我不知道我做错了什么,我在互联网上尝试并查找了一天多来解决这个问题。任何解决此问题的帮助将不胜感激!!
最佳答案
您可能想要替换:
document.getElementById(weekDays[p]).innerHTML.appendChild(newField);
与:
document.getElementById(weekDays[p]).appendChild(newField);
Element.innerHTML
返回一个字符串。您无法对字符串调用 appendChild
。
关于javascript - 使用 Javascript 将文本字段添加到 HTML 表单时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24530230/