问答 JS checkbox 不能勾选怎么办?

xxxxw0911 · 2023年08月15日 · 最后由 大海 回复于 2023年08月16日 · 3458 次阅读

麻烦懂 JS 的大佬帮忙看下🙇

最近在学 JS,想写一个谷歌插件,在插件的页面上加一个 checkbox。
现在点击之后不能显示勾选的状态,但是能获取到它的值变成 checked 了。

我是给 checkbox 元素加了一个 addEventListener,用来获取它的状态

1.如果把 addEventListener 放在 DOMContentLoaded 事件里面,能获取到 checkbox 的值,但是 checkbox 不能勾选
2.如果放在后面(如图),checkbox 可以正常勾选,但是会报错找不到 checkbox 元素,因为在 html 文件里 js 文件先加载了
3.如果把 js 文件放到 前面,元素的后面,效果和 1 一样


共收到 3 条回复 时间 点赞

没看懂问题。。

恒温 回复

浏览器插件页面上加的 checkbox 元素,点击不能勾选,总是空的,但是后台能读到点击后 checkbox.checked = true,怎么才能让它被勾选上?

要解决这个问题,您可以尝试以下几个步骤:

  1. 确保您的 HTML 代码正确:检查 checkbox 元素的 id、name、value 和其他属性是否正确设置。确保没有设置 disabled 属性,否则它将禁用 checkbox。

  2. 检查 CSS 样式:查看是否有任何 CSS 样式或脚本在页面上覆盖了 checkbox 元素的默认行为。可能存在某些样式或脚本会导致 checkbox 无法被勾选。

  3. 检查其他 JavaScript 代码:确保没有其他 JavaScript 代码在页面上干扰 checkbox 的勾选状态。可能存在其他代码在点击事件中修改了 checkbox 的状态,导致它看起来无法被勾选。

  4. 使用 JavaScript 设置勾选状态:如果以上步骤都没有解决问题,您可以尝试使用 JavaScript 代码来设置 checkbox 的勾选状态。您可以使用 document.getElementById("checkboxId").checked = true 来将 checkbox 的 checked 属性设置为 true,从而强制勾选它。

如果尝试了以上步骤仍然无法解决问题,那可能是因为浏览器插件的特殊性导致的,您可能需要查阅相关的浏览器插件文档或寻求插件开发者的帮助来解决该问题。

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册