2013-12-09 165 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,但它似乎不太可能,給定的文件名...

相關問題