隐藏按钮几秒钟 onclick

Mah*_*leh 1 html javascript

我想禁用单击按钮几秒钟,并在此期间显示图像,然后隐藏图像并再次显示按钮。

HTML:

<input type="submit" value="Submit" onclick="validate();" name="myButton" id="myButton">  
<img style="display: none;" src="/images/loading.gif" id="myImage">
Run Code Online (Sandbox Code Playgroud)

JavaScript:

function validate(){

var  myButton= document.getElementById('myButton');
var  myImage= document.getElementById('myImage');

                        setTimeout (function(){
                          myButton.style.display ='none';
                        },5000);
                      setTimeout (function(){
                          myImage.style.display ='inline';
                        },5000);
}
Run Code Online (Sandbox Code Playgroud)

问题:

  1. 这个js代码不是在onclick上执行的,而是在这个按钮的action被调用之后(使用JSF 2)

  2. 调用此代码时,按钮会隐藏并显示图像,但不会再次隐藏,按钮也不会再次显示。

请建议如何解决这个问题。

fiv*_*git 5

您实际上是隐藏按钮并在 5 秒后显示图像,然后不将其改回。尝试这个:

function validate(){

    var myButton= document.getElementById('myButton');
    var myImage= document.getElementById('myImage');

    myButton.style.display ='none';
    myImage.style.display ='inline';

    setTimeout (function(){
        myButton.style.display ='inline';
        myImage.style.display ='none';
    },5000);

}
Run Code Online (Sandbox Code Playgroud)