我有一个“注册电子邮件更新”复选框,默认处于选中状态,值为"is"。如果不勾选,则需要设置为“否”。这不是一个完美的解决方案,但这些是在表单提交时需要提交到数据库的值。
HTML:
<input name="emailSignUpCheckbox" id="emailSignUpCheckbox" type="checkbox" value="Yes" onclick="updateSignUpCheckbox()">Sign me up!
Javascript:
var emailSignUpCheckbox = document.getElementById('emailSignUpCheckbox');
function updateSignUpCheckbox(){
if(emailSignUpCheckbox.checked) {
emailSignUpCheckbox.value = "Yes";
}
else {
emailSignUpCheckbox.value = "No";
}
}
该复选框的值每次都会更改,我已通过查看 DOM 或在控制台中记录该值来确认它。当以选中状态提交时(默认),"is"的值将由表单发布到数据库。
但是,如果手动取消选中,则表单不会将复选框的值发布到数据库,而是发布一个空白值。
非常感谢任何有关我可能做错的事情的建议!
最佳答案
希望这可以帮助您,another answer ,仅提交“on”值,一种解决方案是考虑如果复选框的值不在提交中,则意味着其值为“of”。
关于javascript - 单击事件期间更改的复选框值未被表单数据拾取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41592645/