首页 > 解决方案 > 表单提交后选中 HTML 复选框

问题描述

我的代码中有一些复选框,在检查后激活输入字段。默认情况下,它们被禁用,以便用户选择激活哪个输入字段以及激活或不激活哪个过滤器。提交表单后,复选框总是再次被禁用。有谁知道如何在提交后让它们保持激活状态,但也让它们默认禁用?

<div>
    <input type="checkbox" onclick="var input = document.getElementById('Filter');   if(this.checked){ input.disabled = false; input.focus();}else{input.disabled=true;}" />
    <span class="text-white">Filter</span>
    <input id="Filter" name="Filter" disabled="disabled" />
</div>

标签: javascripthtmlformsinputcheckbox

解决方案


您可以做的是防止表单的默认行为并为submit事件添加事件侦听器并在那里执行您的逻辑。

<script type="text/javascript">
    let form = document.querySelector('form');
    form.addEventListener('submit', (e) => {
        e.preventDefault();
        
        //Your code goes here to set checkbox state again
    })
</script>

推荐阅读