在单击事件期间更改的复选框值未被表单数据拾取

时间:2017-01-11 13:47:08

标签: javascript checkbox onclick form-submit

我有一个"注册电子邮件更新"默认情况下选中的复选框,值为"是"。如果未选中,则需要将其设置为"否"。这不是一个完美的解决方案,但这些是需要在表单提交时提交给数据库的值。

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或在控制台中记录值来确认它。当提交为已选中(默认)时,&#34;是&#34;的值将由表单发布到数据库。

但是,如果手动取消选中,则表单不会将复选框的值发布到数据库,而是发布空白值。

非常感谢任何有关我可能做错的建议!

1 个答案:

答案 0 :(得分:1)

我希望这可以帮助你,another answer,只有&#34; on&#34;提交了一个值,一个解决方案是考虑如果复选框的值不在提交中,则意味着它的值为&#34;&#34;。