2013-12-09 133 views
0

我只是做一些简单的JavaScript作业,但我无法弄清楚为什么我的函数没有被调用。为什么我的函数没有被调用?

所有我有te功能现在做的是alert("test"),因为我必须确保函数被调用,然后才能真正写出它的功能。 JS文件DOMassignment_3_ext.js与HTML文件位于同一文件夹中。

HTML:

<!DOCTYPE html> 
<html> 
<head> 
<meta charset="utf-8"> 
<title>DOM Assignment: #3</title> 
<script src="DOMassignment_3_ext.js"> 
</script> 
</head> 
<body> 
<h2>Christmas Mad Libs</h2> 
<form name="words"> 
    <table> 
     <tr> 
      <td>Name</td> 
      <td><input type="text" name="name"></td> 
     </tr> 
     <tr> 
      <td>Body-part</td> 
      <td><input type="text" name="body"></td> 
     </tr> 
     <tr> 
      <td>Animal</td> 
      <td><input type="text" name="animal"></td> 
     </tr> 
    </table> 
    <input type="button" onlick="madlibs(name, body, animal)" value="Submit"> 
</form> 
<p> 
<b class="name"></b> the Red-<b class="body"></b> <b class="animal"></b><br> 
Had a very shiny <b class="body"></b><br> 
And if you ever saw it<br> 
You would even say it glows<br> 
And all of the other <b class="animal"></b><br> 
Used to laugh and call him names<br> 
They never let poor <b class="name"></b><br> 
Join in any <b class="animal"></b> games<br> 
</p> 
</body> 
</html> 

JS:

function madlibs(name, body, animal){ 
    alert("test"); 
} 
+6

你有一个错字:' '应该是''。 Typo属于'onclick'属性名称 – antyrat

+3

'onclick'属性在输入时拼写错误。 – user3072619

+6

'onlick' ...继续前进,开始舔你的电脑。 –

回答

2
<input type="button" onlick="madlibs(name, body, animal)" value="Submit"> 

应该是:

<input type="button" onclick="madlibs(name, body, animal)" value="Submit"> 
+6

我更喜欢第一个版本,我绝对认为应该有这样一个事件。特别是在新的触摸屏上有味道模拟。 –

+0

@ ItayMoav-Malimovka我不知道。发短信和开车很危险。想象一下,如果他们不得不舔手机会发生什么! – zsaat14

0

的问题是要传递的是不存在的变量! name没有(总是会有一个全局变量name,但bodyanimal不要因此,当你调用函数为这样:

onlick="madlibs(name, body, animal)" 
onclick="madlibs(name, body, animal)" // and even when you spell it correctly 

的Javascript会说:“我body不知道什么叫body? !“然后它会抛出一个错误(准确地说是一个ReferenceError)并停止运行代码,这意味着madlibs将不会被调用

直到你定义了这些变量的时候,的电话:

onclick="madlibs()" 

(在现实中,这将是更好地学习如何连接事件处理程序的JavaScript,但是这是一个不同的故事。)


再来看,这是可能这些变量定义DOMassignment_3_ext.js,但它似乎不太可能,给定的文件名...

相关问题