Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Checkbox 带有“return false”和back的复选框_Checkbox_Preventdefault_Clickable - Fatal编程技术网

Checkbox 带有“return false”和back的复选框

Checkbox 带有“return false”和back的复选框,checkbox,preventdefault,clickable,Checkbox,Preventdefault,Clickable,我想创建一个带有复选框的表单。起初,不可能检查它们。然后,如果单击“提交”,则它们应该是 我让它工作,所以它不能点击第一次与 函数{e.preventDefault;} 但是我怎样才能让它们在那之后再次被点击呢?这意味着你只想使用你第一次删除的默认行为。要做到这一点,你只需要做 function(e){ return true; } 希望这能奏效。最简单的方法是禁用复选框,然后在准备就绪后重新启用它: <input id="chk1" type="checkbox" disabled&g

我想创建一个带有复选框的表单。起初,不可能检查它们。然后,如果单击“提交”,则它们应该是

我让它工作,所以它不能点击第一次与

函数{e.preventDefault;}


但是我怎样才能让它们在那之后再次被点击呢?

这意味着你只想使用你第一次删除的默认行为。要做到这一点,你只需要做

function(e){ return true; }

希望这能奏效。

最简单的方法是禁用复选框,然后在准备就绪后重新启用它:

<input id="chk1" type="checkbox" disabled>

document.getElementById("chk1").removeAttribute("disabled");

如果将单击处理程序设置为函数,则只需让该函数阻止单击,具体取决于是否要启用框。在您的情况下,您说过当单击提交按钮时,您希望开始允许他们:

var _checkBoxesEnabled = false;

function checkBoxClicked(e) {
    if (!_checkBoxesEnabled) {
        e.preventDefault();
    }
}

function submitButtonClicked() {
    _checkBoxesEnabled = true;
}

注意跨浏览器兼容性-我被jQuery宠坏了,所以我不记得e-in-click处理程序是如何与使用常规javascript的旧IE版本一起工作的。

是的,它应该是默认的。不幸的是,使用unbind函数,return true对methen check不起作用,但从用户的角度来看,它应该与启用的checkbox一样,这样做只会让用户恼火。但如果这是你的要求,我会发布另一个选择。
var _checkBoxesEnabled = false;

function checkBoxClicked(e) {
    if (!_checkBoxesEnabled) {
        e.preventDefault();
    }
}

function submitButtonClicked() {
    _checkBoxesEnabled = true;
}