0

我写了一个关于提交表单的代码。当我单击 时button(Download),状态为禁用,我想让它启用,但如果我在提交之间添加一个警告框并使禁用为 false,它可以工作。如果我删除警报框,它就不起作用。是时间问题还是其他?我该如何解决?

如何将按钮从 更改disabled='true''false'

这是我的代码:

<div id="fm" class="btnStyleFunc" onclick="disabled='true';submitform()">
                                    <a><span>Download</span></a>
                                            </div>

function submitform(){
    var element1 = document.getElementById('form');

    if (element1 != null){
    } else {        
    }

    document.getElementById('form').submit();
    alert('test');   // <--------
    document.getElementById('fm').disabled = false;
}
4

4 回答 4

0

尝试这个:

function disabledFunc(id)
{
    var divObj = document.getElementById(id);
    divObj.disabled = false;
}

并使用按钮 id 调用函数:

disabledFunc('fm');

希望能帮助到你!

于 2012-12-05T02:18:58.107 回答
0

用这个:

<div id="fm" class="btnStyleFunc" onclick="this.disabled=true;submitform()">
                                    <a><span>Download</span></a>
                             </div>

当然,该元素是一个 DIV 而不是一个按钮,所以我不知道disabled它的效果如何......

于 2012-12-05T02:20:25.820 回答
0

正如 Farish 和 MrXenotype 所指出的,“禁用”属性对div元素没有意义。它可以动态添加,但不会影响行为。但我理解为什么您可能想要使用 adiv而不是按钮,特别是如果您花时间自定义样式表以使其看起来像您想要的那样。

我认为你可以通过做一个小的改变来获得你想要的行为:

<div id="fm" class="btnStyleFunc" onclick="this.onclick=null;submitform()">
   <a><span>Download</span></a>
</div>

div基本上,当您的 onclick 处理程序执行时,您会将其与元素断开连接。现在,当有人第二次单击您的“按钮”时,它什么也不做。在此期间,onclick您可能还希望将您的类更改为 btnStyleFunc 以外的其他内容 - 可能是一个名为btnStyleFuncDisabled. 然后您可以修改您的样式表,使任何div具有该类的元素都显示为灰色。

<div id="fm" class="btnStyleFunc" 
     onclick="this.className='btnStyleFuncDisabled'; this.onclick = null; dosubmit(this)">
   <a><span>Download</span></a>
</div>
于 2012-12-05T02:50:54.787 回答
0

注意:

<div id="fm" class="btnStyleFunc" onclick="disabled='true';submitform()">

将创建一个disabled字符串值为“true”的全局变量,并且

 document.getElementById('fm').disabled = false;

disabledid 为“fm”的元素的属性与布尔值进行比较false

于 2012-12-05T03:23:21.210 回答