2015-10-13 53 views
0

我正在介紹JavaScript課程,並且我遵循所有指示,但函數未執行。我已經在StackOverflow上看過很多「JavaScript不會執行」的問題,並且都沒有包含能夠解決我的問題的答案。JavaScript新手 - 爲什麼我的函數不能執行?

下面是HTML頭:

<!DOCTYPE> 
<html> 
<head> 
<title>Monroe Public Library</title> 
<link href="mplstyles.css" rel="stylesheet" type="text/css" /> 
<script type="text/javascript" src="random.js"></script> 
<script> 
/* 
The showImg() function displays a random image from the 0.jpg through 9.jpg files. The 
random image is designed to thwart hackers attempting to enter the library records data 
base by requiring visual confirmation 
*/ 

function showImg() { 
    var imgNumber = randomInteger(9); 
    // Return a random number from 0 to 9 
    document.write("<img 'src=" + imgNumber + ".jpg' alt='' />"); 
} 

</script> 
</head> 

這裏是我的HTML調用函數的部分。它應該調用四次,以便輸出HTML字符串五次,並在網頁上顯示五個數字圖像。

<table border="1" cellpadding="5" cellspacing="0"> 
<tr> 
    <th>Username</th> 
    <td><input size="20" /></td> 
</tr> 
<tr>  
    <th>Password</th> 
    <td><input type="password" size="20" /></td> 
</tr> 
<tr> 
    <td>As a final security check, enter the 5 numbers 
    you see displayed below.</td> 
    <td><input size="6" /></td> 
</tr> 
<tr> 
    <td colspan="2" class="center"> 
    <input type="button" value="View Library Records" /> 
    </td> 
</tr> 
<tr> 
    <td colspan="2" class="center"> 
    <script>showImg();showImg();showImg();showImg();showImg();</script> 
    </td> 
</tr> 
</table> 
</div> 

當我打開頁面時,它不輸出任何內容;只是保持我用腳本元素和函數調用寫的方式。表格單元格顯示爲空。我在函數中放入了一個消息框,以查看它是否甚至可以輸入它,但是消息框只出現一次(無論我調用函數多少次)。在所有提供

JavaScript文件(random.js)以及HTML和工作,所以我只包括了相關章節。

+1

這是什麼? – brk

+1

你知道'document.write'的工作原理嗎? – j08691

+0

瀏覽器控制檯中是否有任何內容?一個錯誤?我認爲randomInteger函數包含在random.js包含中。 – AtheistP3ace

回答

2

不知道這是否是相關的,但你必須"<img 'src="代替"<img src='"

除此之外,界定

function randomInteger(rng) { 
    return Math.round(Math.random() * rng); 
} 

,並改變你的document.write

document.write("<b>" + imgNumber + ".jpg</b> "); 

的工作得很好我。

+0

這正是我的問題 - 不正確的引號。一旦我修復了引號,代碼就可以正常工作。謝謝伊恩 – NickSS

1

此行

document.write("<img 'src=" + imgNumber + ".jpg' alt='' />"); 

有撇號格格不入。它應該是

document.write("<img src='" + imgNumber + ".jpg' alt='' />"); 

<table border="1" cellpadding="5" cellspacing="0"> 
 
<tr> 
 
    <th>Username</th> 
 
    <td><input size="20" /></td> 
 
</tr> 
 
<tr>  
 
    <th>Password</th> 
 
    <td><input type="password" size="20" /></td> 
 
</tr> 
 
<tr> 
 
    <td>As a final security check, enter the 5 numbers 
 
    you see displayed below.</td> 
 
    <td><input size="6" /></td> 
 
</tr> 
 
<tr> 
 
    <td colspan="2" class="center"> 
 
    <input type="button" value="View Library Records" /> 
 
    </td> 
 
</tr> 
 
<tr> 
 
    <td colspan="2" class="center"> 
 
    <script> 
 
    function showImg() { 
 
     var imgNumber = Math.floor(Math.random() * 9); 
 
     document.write("<img src='" + imgNumber + ".jpg' alt='' />"); 
 
    } 
 
    showImg();showImg();showImg();showImg();showImg(); 
 
    </script> 
 
    </td> 
 
</tr> 
 
</table>

+0

我以前有過編程和網絡體驗(信不信由你),這顯然是更好的。我想我的教練只是要我們把實踐從文件導入,並呼籲在頭部聲明的函數。好吧。 – NickSS

+0

我只移動了腳本內嵌讓它在這個沙箱中運行,而不是我出哪一部分...... –

+0

好吧,這就是我想通;只是不積極,所以我把它列入我的評論。 :) – NickSS

相關問題