gpt4 book ai didi

javascript - 无法传递数组元素来恢复表单

转载 作者:行者123 更新时间:2023-11-28 01:36:33 25 4
gpt4 key购买 nike

我是 JavaScript 初学者。为了练习,我尝试使用 cookie 恢复表单(页面关闭/页面重新加载)。我采取以下步骤:

  • 创建一个包含表单选择的数组
  • 转换为字符串
  • 创建cookie
  • 检索 cookie
  • 提取字符串
  • 转换为数组

...直到这里一切都很完美。但下一步就不行了...

  • 传递数组值以恢复表单元素

无论重新加载页面后的表单选择(在检索到的数组中正确显示),我每次都会仅最后选中单选按钮(即使我增加或减少按钮数量)并选中所有复选框。

我尝试了我所知道的任何方法来查找错误,但没有成功。我还将字符串“true”/“false”值转换为 bool 值,但没有变化。

真实情况:

frm[0]=true
frm[1]=false // for two radio buttons
frm[2]=false
frm[3]=false // for two checkboxes
document.getElementById("myradio1").checked=frm[0]
document.getElementById("myradio2").checked=frm[1]
document.getElementById("mycheckbox1").checked=frm[2]
document.getElementById("mycheckbox2").checked=frm[3] // pass the array values to the form elements

但是,正如我所说,我传递的任何值总是会选择最后一个单选按钮和所有复选框。

这段代码可能不遵循 JavaScript 的“最佳实践”,但在更改它之前,我想了解它为什么会这样。我预先感谢您的评论,因为我非常想澄清这个问题。

最佳答案

发生这种情况是因为对于单选按钮来说,一组单选按钮中只能单击一个单选按钮。

对于复选框,您使用相同的 ID 两次,因此更改实际上并未反射(reflect)在其他复选框上。

关于javascript - 无法传递数组元素来恢复表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21474003/

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