我想禁用单击按钮几秒钟,并在此期间显示图像,然后隐藏图像并再次显示按钮。
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)
问题:
这个js代码不是在onclick上执行的,而是在这个按钮的action被调用之后(使用JSF 2)
调用此代码时,按钮会隐藏并显示图像,但不会再次隐藏,按钮也不会再次显示。
请建议如何解决这个问题。
您实际上是隐藏按钮并在 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)