新手:在函数调用上挂起浏览器

时间:2009-02-22 16:53:08

标签: javascript

我刚刚开始学习JavaScript,并且想知道为什么当我点击“调用功能”按钮时这个简单的代码段会挂起。我错过了什么?

<html>
<head>

<script type="text/javascript">
function myfunction()
{
document.write("hello");
}
</script>

</head>
<body>

<form>
<input type="button" 
onclick="myfunction()" 
value="Call function">
</form>

</body>
</html>

6 个答案:

答案 0 :(得分:3)

如果您只想看到按钮做某事,请尝试:

alert("Hello");

而不是document.write。

答案 1 :(得分:3)

您需要在元素内部写入或为元素赋值,或者您应该使用类似的文档写入:

<html>
<head>

<script type="text/javascript">
function myfunction()
{
document.getElementById("lblMessage").innerText = "hello";
document.getElementById("txtMessage").value = "hello";
//document.write("hello");
}
</script>

</head>
<body>

<form>

<script type="text/javascript">
document.write("This is written while page processed by browser !<br />");
</script>

<input type="text" id="txtMessage" /><br />
<span id="lblMessage"></span><br />
<input type="button" 
onclick="myfunction()" 
value="Call function">
</form>

</body>
</html>

答案 2 :(得分:1)

您希望函数在哪里输出“hello”?进入按钮的源代码?这是没有意义的。浏览器感到困惑并挂起。

Document.write不会在文档末尾神奇地插入内容。它把它的东西写在那里,它被称为。

答案 3 :(得分:1)

不太确定“挂”是什么意思...试试这个...警报可以删除,但会通知你执行的位置......

<html>
  <head>
     <script type="text/javascript">
       function myFunction() {
          //for debugging
          alert('Made it into function');
          document.getElementById('MyOutputDiv').innerHTML = 'Word To Your Mom...';
          //for debugging
          alert('function complete');
       }
     </script>
   </head>
   <body>
     <input type='button' onclick='myFunction();' value='Call Function'>
     <br>
     <div id='MyOutputDiv'></div>
   </body>
 </html>

答案 4 :(得分:0)

document.write,但在哪里?你必须指定它。

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Hello</title>
</head>
<body>
<pre><script type="text/javascript">
function myfunction() {
  d = document.getElementById('hello');
  d.style.display = "block";
  d = document.getElementById('callme');
  d.style.display = "none";
}
</script>
</pre>
<div id="hello" style="display:none">
Hello
</div>
<div id="callme">
  <input type="button" 
     onclick="myfunction()" 
     value="Call function">
  </input>
</div>
</body>
</html>

答案 5 :(得分:0)

我无法解释“挂起”,但请查看此页面以获取有关document.write的入门知识:http://javascript.about.com/library/blwrite.htm我还想说明您可能想要写入特定元素页面而不是仅覆盖整个页面。