Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/32.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
方法使用javascript禁用输入文本,直到函数完成_Javascript_Html - Fatal编程技术网

方法使用javascript禁用输入文本,直到函数完成

方法使用javascript禁用输入文本,直到函数完成,javascript,html,Javascript,Html,我有一个输入框,我想暂时禁用输入,直到函数在javascript中完成,然后重新启用它。 我知道element.disabled=true和element.disabled=false(在函数之后执行该操作)不会将其恢复到启用状态,因为我使用onkeydown来启用函数,代码有点像这样-> HTML: 基本上,它只是一个带有onkeydown的文本框,当您正常键入时,它会继续运行,但当您按enter(keyCode=13)时,它会使用javascript事件验证这一点,如果为true,则会在淡入

我有一个输入框,我想暂时禁用输入,直到函数在javascript中完成,然后重新启用它。 我知道element.disabled=true和element.disabled=false(在函数之后执行该操作)不会将其恢复到启用状态,因为我使用onkeydown来启用函数,代码有点像这样->

HTML:

基本上,它只是一个带有onkeydown的文本框,当您正常键入时,它会继续运行,但当您按enter(keyCode=13)时,它会使用javascript事件验证这一点,如果为true,则会在淡入淡出后提交文本框的值。我想进入文本被禁用,而淡入淡出,因为它会导致一个部分淡出后,张贴其他东西后,第一篇文章很快。element.disabled=true和after fade(),elem.disabled=false不起作用

使用它的Id:

document.getElementById('text1').disabled = true;
document.getElementById('text1').disabled = false;
或者,为您的输入字段指定一个名称,并确保它位于表单中(也带有名称):

使用它的Id:

document.getElementById('text1').disabled = true;
document.getElementById('text1').disabled = false;
或者,为您的输入字段指定一个名称,并确保它位于表单中(也带有名称):


如果您已经在使用jQuery,那么使用.attr和.removeattrapi有一个很好且简单的选项,我使用它来禁用像这样的提交按钮

    $('#itemAdd').submit(function(){
        $('input[type=text]', this).attr('disabled', 'disabled');
    });
要再次启用该元素,可以使用

    $('#itemAdd').submit(function(){
        $('input[type=text]', this).removeAttr('disabled', 'disabled');
    });

API代码可在此处使用,也可在此处使用,如果您已经在使用jQuery,那么使用.attr和.removeattr API有一个很好且简单的选项,我使用它来禁用像这样的提交按钮

    $('#itemAdd').submit(function(){
        $('input[type=text]', this).attr('disabled', 'disabled');
    });
要再次启用该元素,可以使用

    $('#itemAdd').submit(function(){
        $('input[type=text]', this).removeAttr('disabled', 'disabled');
    });

API代码可在此处和此处使用

这里有一个使用jQuery的解决方案:

html:


下面是一个使用jQuery的解决方案:

html:

试试这个:

document.getElementById("text1").setAttribute("disabled", false);
它成功地为我工作了

试试这个:

document.getElementById("text1").setAttribute("disabled", false);
它成功地为我工作了

你说的

elem.disaled = false   
不起作用

试试这个:

document.getElementById("text1").setAttribute("disabled", false);
你说的对我很有用

elem.disaled = false   
不起作用

试试这个:

document.getElementById("text1").setAttribute("disabled", false);

它对我有效

我试过了,不起作用,我想这是因为一旦你禁用了淡入淡出的onkeydown功能,它就不起作用了,因为它被禁用了,所以你不能自己重新启用它,需要另一个启用的元素才能启用它。谢谢你的帮助。。。好啊它的代码与你说的“非常感谢”相同,只是没有jquery。+1感谢你的回答和评论,兄弟。很遗憾,您的答案没有标记为所选答案。给一个noob一个JS库,他会把他胖乎乎的脑袋射下来。我试过了,不起作用,我想这是因为一旦你禁用了onkeydown函数,其中的淡入淡出是不起作用的,因为它被禁用了,所以你不能自己重新启用它,需要另一个启用的元素才能启用它。谢谢你的帮助。。。好啊它的代码与你说的“非常感谢”相同,只是没有jquery。+1感谢你的回答和评论,兄弟。很遗憾,您的答案没有标记为所选答案。给一个noob一个JS库,他就会把他胖乎乎的脑袋射下来。