完成特定持续时间时的隐藏按钮



我想在完成访问该网页 2 分钟后隐藏一个submit按钮。我的代码如下。

<body>在项目的所有页面中调用的header.php

<body  onload="JavaScript:document.body.focus(); initSubmit();" onkeydown="return showKeyCode(event)">

我正在将initSubmit()函数form.php编码为,

<script type="text/javascript">
function initSubmit()
{
document.forms[0].elements['hideit'].style.visibility = 'visible';
setTimeout( "document.forms[0].elements['hideit'].style.visibility = 'hidden'", 120000 );
}
</script> 
<button type="submit" value="submit" class="btn btn-success wrp_submit_togle" id="hideit"><i class="glyphicon glyphicon-floppy-disk" ></i> Submit</button>

这不是使按钮隐藏。我能知道我哪里出了问题吗?

window.load上调用函数initSubmit

function initSubmit() {
document.forms[0].elements['hideit'].style.visibility = 'visible';
setTimeout("document.forms[0].elements['hideit'].style.visibility = 'hidden'", 5000);
}
window.load = initSubmit()
<form>
<button type="submit" value="submit" class="btn btn-success wrp_submit_togle" id="hideit">
<i class="glyphicon glyphicon-floppy-disk" ></i> Submit</button>
</form>

代码中的第一个缺陷是使用 document.forms[0] 访问元素。通过只允许页面上的每个ID中的一个,getElementById每次都可以准确地检索它,而无需关心文档在此期间会发生什么。

如果需要多次使用,则仅获取一次元素并通过赋值为变量来使用它始终是经济的。 为了快速获得结果,我减少了按钮可见的时间。

请按以下方式拨打initSubmitwindow.load;

function initSubmit() {
var s = document.getElementById( 'hideit' );
s.style.visibility = 'hidden';
setTimeout( "document.getElementById( 'hideit' ).style.visibility = 'visible'", 5000 );
	}
window.load = initSubmit()
<form>
<button type="submit" value="submit" class="btn btn-success wrp_submit_togle" id="hideit">
<i class="glyphicon glyphicon-floppy-disk" ></i> Submit</button>
</form>

最新更新