【发布时间】:2011-01-05 06:12:09
【问题描述】:
我想获取可能已被用户更改的元素的 innerHTML。
例如,我想知道单选按钮的状态:
<input type="radio" name="Q_209" value="A" checked>
或
<input type="radio" name="Q_209" value="A">
在现代浏览器中,innerHTML 只是在页面加载时给出原始标签(如discussed at length here):它不记录单选按钮是否已被用户选中。
是否有任何安全的方法来获取更新的 HTML?我知道有一些方法可以在 Javascript 中获取单选按钮本身的状态,但我想要的是完整的、更新的 HTML。
谢谢!
【问题讨论】:
-
这是个好问题。据我所知,现有功能无法做到这一点,您可能必须为可能非常繁重的功能构建自己的功能 - 也许更聪明的人会证明并非如此。
-
没有答案,仅供参考:IE8 实际上确实显示了当前的 CHECKED 状态。你能解释一下为什么需要这个吗?可能还有另一种解决方案。
-
因此,根据您链接的帖子,更新表单输入时对 HTML 的影响似乎是未定义的。因此,您不能指望只查看 HTML。我们真正需要做的是以某种方式将当前感兴趣的 DOM 对象转换为 HTML。我想不出一个简单的方法。
-
如果您解释为什么需要这样做,我们可能会找到一个很好的解决方法,而无需编写您自己的 HTML 生成函数。
-
感谢您的所有回答。原因是我正在写一个测验;它一次显示一个问题,但我想记录用户为每个问题给出的答案,以便我可以显示他们最后一起给出的所有问题和答案。
换句话说,我想将每个问题的innerHTML与答案状态一起保存在某个地方,以便于重新显示。最好直接使用 HTML,而不是将答案存储在 Javascript 数组中的某个位置,然后必须编写另一个函数来再次显示单选按钮。但是,如果这就是它所需要的......
标签: javascript html innerhtml