完成一定时间后隐藏按钮

时间:2018-08-23 07:53:47

标签: javascript php html button

我想在访问该网页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>

这不会隐藏按钮。我能知道我要去哪里了吗?

2 个答案:

答案 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>