我想在访问该网页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>
这不会隐藏按钮。我能知道我要去哪里了吗?
答案 0 :(得分:3)
在initSubmit
上调用函数window.load
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>
答案 1 :(得分:1)
代码中的第一大缺陷是使用document.forms [0]访问元素。通过仅允许页面上的每个ID之一,getElementById可以每次都准确地检索它,而无需关心文档在此期间发生了什么。
仅一次获取元素并通过分配为变量使用它总是很经济的,如果需要多次使用的话。 为了获得快速结果,我减少了按钮可见的时间。
按以下步骤在initSubmit
上致电window.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>