2011-01-05 81 views
0

我真的希望這不是一個愚蠢的問題,但這個HTML看起來太簡單了,不會失敗。但它仍然失敗。HTML表單後缺少尾隨元素?

我有一個以表單開始的頁面,在表單之後我還有一些元素。那些元素從不顯示!下面的代碼:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" > 
<head> 
    <title>CGI Test</title> 
</head> 
<body> 
    <form enctype="multipart/form-data" method="post" action="/cgi-bin/upload.cgi" target="upload_target"> 
     <input type="hidden" name="cmd" value="uploadBackgroundFile" /> 
    <p>File Upload: 
    <input type="file" name="file" value="" /> (Select A Local File)</p> 
    <p><input type="submit" name="cgitest" value="Submit Request" /></p> 
     <iframe id="upload_target" name="upload_target" src="" 
      style="visibility: hidden; width: 500px; height: 300px; border: 2px solid black;" /> 
    </form> 
    <p /> 
    <hr /> 
    <h1>List of uploaded files:</h1> 
    <ul id="listBackgroundFiles"> 
     <li>(Nothing loaded yet)</li> 
    </ul> 
</body> 
</html> 

而且,如果我叫 「的document.getElementById( 'listBackgroundFiles')」,則返回null。表單之後的元素不只是不顯示,它們似乎根本不存在!

這似乎不是一個瀏覽器問題...我在Internet Explorer 7.0.6002.18005,Firefox 3.6.12,Chrome 5.0.375.99,Opera 10.60.3445和Safari 5.0.2( 7533.18.5),全部在Windows Vista下運行(可惜)。我通過W3C和WDG驗證器運行該頁面,並且沒有顯示任何問題。最後,如果我將這些元素移動到表單上方,它們顯示得很好。將元素放在表單後面似乎是個問題。

再一次,我很抱歉如果這是一個愚蠢的問題,但我很困惑這種簡單的事情如何一貫地失敗。

+0

這是什麼都不做!或者它的CSS問題? – benhowdle89 2011-01-05 15:11:09

+0

我不覺得自閉合段落標籤是有效的? – 2011-01-05 15:11:25

+0

在firefox中,您可以使用firebug擴展來檢查該元素的css和dom屬性。這應該會給你至少一些線索。 – AJJ 2011-01-05 15:15:23

回答

2

變化

<iframe id="upload_target" name="upload_target" src="" 
      style="visibility: hidden; width: 500px; height: 300px; border: 2px solid black;" /> 

<iframe id="upload_target" name="upload_target" src="" 
      style="visibility: hidden; width: 500px; height: 300px; border: 2px solid black;" ></iframe> 

據我所知,<iframes><scripts>應始終被寫另一關閉標籤,而不是在一個標籤關閉。

檢查此鏈接爲HTML標籤的列表,只有這個列表中的自我封閉的標籤,可以而且應該自我封閉:List of HTML Tags

雖然根據我的經驗,腳本和iframe標籤是最危險的。

+1

同樣用於'

';這可能會導致渲染失敗。 – JakeParis 2011-01-05 15:16:19

+0

Oy ...我從來不會猜到這個。謝謝! – Steve 2011-01-05 15:36:36

0

即使您的代碼驗證,自閉iframe是問題。將<iframe />更改爲<iframe> </iframe>。就像腳本標記其中的那些'東西'...

1

iframe不是自閉的。嘗試這樣,它會工作。

<iframe id="upload_target" name="upload_target" src="" 
      style="visibility: hidden; width: 500px; height: 300px; border: 2px solid black;"></iframe>