Javascript 默认情况下取消选中复选框

Javascript 默认情况下取消选中复选框,javascript,jquery,html,Javascript,Jquery,Html,我想创建一个复选框,它在默认情况下总是未选中的,用户不应该选中它。我不想禁用复选框,因为我想在提交表单时传递复选框的值。请建议。 以下代码不起作用: <input type="checkbox" id="chkbox1" name="chkbox1" value="unChecked" checked="false" readonly="readonly"> 如果上述代码复选框始终处于选中状态,我希望复选框始终处于未选中状态,并且用户不能选择它。我不应该使用禁用选项,因为我希望

我想创建一个复选框,它在默认情况下总是未选中的,用户不应该选中它。我不想禁用复选框,因为我想在提交表单时传递复选框的值。请建议。 以下代码不起作用:

<input type="checkbox" id="chkbox1" name="chkbox1" value="unChecked" checked="false" readonly="readonly">


如果上述代码复选框始终处于选中状态,我希望复选框始终处于未选中状态,并且用户不能选择它。我不应该使用禁用选项,因为我希望在提交表单时发送复选框的值。谢谢。

只需将
选中的属性一起删除即可

<input type="checkbox" id="chkbox1" name="chkbox1" value="unChecked" readonly="readonly" />

只需将选中的
属性一起删除即可

<input type="checkbox" id="chkbox1" name="chkbox1" value="unChecked" readonly="readonly" />

checked
attribute将复选框设置为选中状态,无论属性
checked
具有什么值

checked="checked"
checked="true"
checked="false"
checked=""
所有这些都设置为已检查状态

因此,除了完全删除checked属性之外,没有办法手动取消选中复选框(除了一些js解决方案)


更新:只需将disabled更改为readonly,这样用户就无法检查它,但您仍然可以提交此字段,并使用表单

checked
属性将复选框设置为checked状态,而不管该属性的值是多少

checked="checked"
checked="true"
checked="false"
checked=""
所有这些都设置为已检查状态

因此,除了完全删除checked属性之外,没有办法手动取消选中复选框(除了一些js解决方案)



更新:只需将disabled更改为readonly,以便用户无法检查,但您仍可以使用表单提交此字段

我是新成员,因此无法留下评论。但根据我对你问题的理解,like@adeneo建议,为什么不首先使用一个隐藏的,并传递一个值为“做”的程序;然后为用户提供一个虚拟禁用的“外观”?因为你现在只需要它?然后你就把虚拟的藏起来,然后显示真实的?

我是新来的,所以我不能留下评论。但根据我对你问题的理解,like@adeneo建议,为什么不首先使用一个隐藏的,并传递一个值为“做”的程序;然后为用户提供一个虚拟禁用的“外观”?因为你现在只需要它?然后,您只需隐藏虚拟的复选框并显示真实的复选框?

未选中的复选框不会传递其值。@Quentin然后他可以假设它没有被选中……它是一个二进制的是或否。未选中的复选框不会传递其值。@Quentin然后他可以假设它没有被选中……它是一个二进制的是或否。这实际上不符合条件问题要求:“我想在提交表单时传递复选框的值”我想传递复选框的值,并且用户不应该能够检查它,但是使用上面的代码,用户可以选中复选框-@adeneo@user3684675-但是当用户无法与之交互或更改它时,为什么需要复选框,这毫无意义。@user3684675然后禁用该复选框,并用隐藏的输入传递其值,如上所述。无论如何,这听起来像是一个有缺陷的设计。是的,在这种情况下,这是没有意义的,但在未来,我们必须实施它,直到那时,我们需要在表单提交后传递值@adeneo。这实际上不符合问题的要求:“我想在提交表单时传递复选框的值”我想传递复选框的值,而用户不应该能够检查它,但是使用上面的代码,用户可以选中复选框-@adeneo。@user3684675-但是,当用户无法与复选框交互或更改它时,为什么需要复选框,这是没有意义的。@user3684675然后禁用复选框,并用隐藏的输入传递其值,正如adeneo上面解释的那样。无论如何,这听起来像是一个有缺陷的设计。是的,在这种情况下,这是没有意义的,但在未来,我们必须实施它,直到那时,我们需要在表单提交后传递值@readonly是我的第一个选项,它不起作用,用户可以选中复选框,即使我给出了readonly选项@doniyor.readonly是我的第一个选项,它不起作用,用户可以选中复选框,即使我给出了readonly选项@doniyor.谢谢大家,我将继续使用建议的隐藏字段,谢谢大家。谢谢大家,我将继续使用建议的隐藏字段,谢谢大家。