我正在寻找一个非常特殊的主题的帮助。我正在尝试使用 更改文本字段内的默认值document.getElementById,但是我运气不佳。我在脚本下面描述了 $name 的原因是因为整个事情都在一个 for 循环中以创建这些名称的列表。当它调用函数时,查找元素 ID 没有问题,因为它们已经创建。这段代码混合使用了 php 和 html(你会看到一个$dataarray[$i]['AI'],这是一个自动递增的数字,用于指向正确的信息):<?php $name = "";if($owner == 1){ $btnEdit = '<span id="btnEdit'.$dataarray[$i]['AI'].'"><button type="button" onclick="EditName('.$dataarray[$i]['AI'].', \''.$dataarray[$i]['lastname'].'\', \''.$dataarray[$i]['firstname'].'\');">Edit Name</button></span>'; ?><script> function EditName(logai, lastname, firstname) { window.stop(); var btnEditID = "btnEdit" + logai; var editNameID = "editName" + logai; document.getElementById(editNameID).innerHTML = '<input type="text" id="Lname" value="'+lastname+'" size="10">, <input type="text" id="Fname" value="' + firstname + '" size="10">'; document.getElementById(btnEditID).innerHTML = '<button type="button" onclick="SubmitName('+logai+', \''+lastname+'\', \''+firstname+'\');">Submit Name</button> <button type="button" onclick="CancelEdit(\''+btnEditID+'\', \''+editNameID+'\', '+logai+', \''+lastname+'\', \''+firstname+'\');">Cancel Edit</button><br>'; 进度顺序如下:1)在名称文本字段中看到名称弹出,旁边有一个编辑按钮2)注意名称拼写错误,所以点击编辑按钮3)点击编辑按钮,它变成2个按钮(一个提交按钮和一个取消按钮),而名称字段变成两个用逗号分隔的文本字段(姓氏,名字方向)4) 在文本字段中输入您想要的更改,然后单击提交按钮5)提交按钮从两个文本字段中获取新文本并更新给定ai位置的名称(这是我遇到问题的地方;它没有在姓氏,名字字段中输入新内容)6)页面重新加载做了几件事:更新填写的信息,重置字段布局,以及“打开”页面的自动刷新(我location.reload()评论过看到它在ajax上返回的消息;这只是一个通过/失败消息)(注意:如果有一个段落放错了地方,我很抱歉,我有点时间紧张,今天早上我没有足够的时间检查文学敏感性)
2 回答
白板的微信
TA贡献1883条经验 获得超3个赞
document.getElementById()函数的参数必须是字符串,但您为其提供了未定义的变量。
lastname = document.getElementById('Lname').value; firstname = document.getElementById('Fname').value;
叮当猫咪
TA贡献1776条经验 获得超12个赞
更新:输入document.getElementById(Lname)
并Lname
进入开发工具的控制台后,我有一个想法:如果我将 lastname & firstname 设置为Lname.value
&会发生什么Fname.value
?发生的事情是它解决了我的问题(我的同事是让我想到它的人,因为他想看看在控制台中键入 getElementById 会做什么)。这可能是导致它的范围问题,但这绝对是人们应该从我的错误中采取的一步:
如果在按文档搜索时元素返回为 null,请尝试查看浏览器控制台中的值。如果有些事情不适合您,请尝试向内迈出一步。
- 2 回答
- 0 关注
- 92 浏览
添加回答
举报
0/150
提交
取消