gpt4 book ai didi

javascript 在将 id 传递给函数时丢失 id

转载 作者:行者123 更新时间:2023-12-02 22:17:12 27 4
gpt4 key购买 nike

在 Coldfusion 中,程序 person1.cfm 的代码如下:

<form action = "person2.cfm"
id = "pers2form"
name = "pers2form"
method = "post"
onsubmit = "return pers1()">
<table>
<td>
<input type = "radio"
class = "moxradio round"
id = "Person"
name = "whereto"
value = "Person">
</td>
<td style = "color: ##946ca6"> Update Person</td>
<tr>
<td>
<input type = "radio"
class = "moxradio round"
id = "Persactiv"
name = "whereto"
value = "PersActiv">
</td>
<td style = "color: ##946ca6; ">Update Activity </td>
</table>
</form>
<input type = "Submit"
name = "subpers2"
id = "subpers2"
class = "submitbut"
style = "display: block; margin:10px auto 10px auto"
value = "Submit">

这工作正常,并正确提交到 person2.cfm,其代码如下:

<cfif IsDefined('form.whereto')>
<cfset whereto = form.whereto>
</cfif>

<cfinclude template = person1.cfm>
<cfoutput>
<script>
recheck('#whereto#')
function recheck(target) {
alert('target is ' + target);
document.getElementById(target).checked = true;
}
</script>
</cfoutput>

这应该将复选标记放回到 person1 的单选框中。但事实并非如此。我在控制台上收到此错误:
类型错误:document.getElementById(...) 为 null[了解更多] person2.cfm:393:1

功能重新检查正在选择正确的目标。由于 person1.cfm 已包含在内,因此该目标应该就在那里。但好像找不到。

person2.cfm 的其余部分正确显示。

对第 393 行的引用是虚假的,因为没有第 393 行。空值必须出现在函数重新检查内。我到处都做过这种事情,将值放回输入字段和选择框,一切都正常。但我从来没有用单选按钮做过。也许重新检查一个框有什么不同?或者也许我做了一些我看不到的愚蠢的事情?

有人能发现我做错了什么吗?

最佳答案

第二个单选按钮的 ID 是“Persactiv”,但您发送的值是“PersActiv”。区分大小写最终导致 getElementById() 找不到 id。

关于javascript 在将 id 传递给函数时丢失 id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59349149/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com