【问题标题】:Why does my function just blink and brings me back to the home page?为什么我的功能只是闪烁并带我回到主页?
【发布时间】:2013-11-21 14:32:20
【问题描述】:

所发生的只是它闪烁了一秒钟,我想让我的按钮可见,但它不打印 hello world,它不会停留在那里只是闪烁。

<html>

<head>
  <script src="Document.js"></script>
  <script type="text/javascript">
    function All() {
      var name = document.getElementById("search");
      visible()
    }

    function visible() {
      document.getElementById("back").style.visibility = "visible";
      David()
    }

    function David() {
      if (name === "David") {
        Document.write(
          "Hello World"
        );
      }
    }
  </script>
</head>

<body onload=" invisible()">
  <center>
    <h2>Enter A Last Name</h2>
    <form>
      <input style="width: 300px;position: relative;top: 100px;" id="search" type="textbox" name="search">
      <input style="position: relative;top: 100px;" type="submit" value="search" name="button" onClick="All()">
      <input style="position: relative; right: 900px;" id="back" type="submit" value="Back" name="button" onClick="">
    </form>
  </center>
</body>

</html>

另外,onload=" invisible()" 只是在 &lt;script src="Document.js"&gt;&lt;/script&gt; 中调用一个函数,但我没有任何问题,它所做的只是在页面加载时使按钮不可见,但无论如何这里是它的代码。

function invisible()
{
    document.getElementById("back").style.visibility="hidden";
}

【问题讨论】:

  • 页面加载后不要使用Document.write...会覆盖现有内容...最好不要使用它

标签: javascript function call


【解决方案1】:

您正在为它使用表单提交,并且表单提交的默认事件是转到表单上指定的操作。如果表单上没有任何操作,它只会刷新页面。如果你想保持表单提交,你必须通过 return false 来停止默认事件;

function All (){
var name = document.getElementById("search");
visible();
return false;
}

这应该可以解决您的问题。

您也可以使用“按钮”标签或仅使用“a”标签。

【讨论】:

    【解决方案2】:

    将提交更改为按钮使我的对象“返回”可见,但它没有删除搜索栏和搜索按钮,也没有打印 hello world,但感谢您的帮助

    【讨论】:

    • 您是否尝试将返回设置为 false 而不是将提交更改为按钮?
    猜你喜欢
    • 2013-04-07
    • 1970-01-01
    • 1970-01-01
    • 2012-03-11
    • 1970-01-01
    • 2017-09-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多