2012-02-29 387 views
2

我今天剛剛開始的問題,根本沒有真正改變代碼。所以當表單被提交時,值應該顯示在iframe中。昨天一切正常,但今天的價值顯示在框架的新選項卡instad。它仍然在Internet Explorer中工作。iframe在新標籤頁中打開

當我搜索網絡上的答案時,他們所說的只是向iframe添加一個id和名稱標籤,但已經在代碼中。有人知道我可能出錯的地方嗎?

下面是代碼

<form name="form_1" id="form_1" action="/fruits/result.php" method="post" target="resultaat"> 

<iframe name="resultaat" id="resultaat" src="/bepages/empty.php" width="660" height="250" frameborder="0" scrolling="no" marginwidth="0"></iframe> 

編輯的部分:可能解決

我似乎發現了問題,但我想不明白爲什麼出錯。所以我有另一個標籤打開與相同的網址。當我關閉該選項卡並再次嘗試時,iframe再次正常工作。我會認爲,因爲它是相同的ID,但我是正確的,當你使用不同的標籤時不應該是一個問題。所以我的下一個問題是,有人知道爲什麼它在這裏出錯了嗎?

+0

您試過哪種瀏覽器?我創建了一個小提琴http://jsfiddle.net/qNBMb/,它適用於Chrome 17,Firefox 9和IE9。 – arunes 2012-02-29 09:14:02

+0

只是猜測。可能您的網頁無法100%加載,而且瀏覽器無法定義iframe。檢查你是否有其他服務器的腳本/ css /圖像。 – Narek 2012-02-29 09:15:56

+0

是否可以在解析iframe之前提交表單? – Yaniro 2012-02-29 09:16:15

回答

0

看來問題是由於使用相同的URL打開了另一個選項卡導致的。當我關閉1個標籤時,它再次正常工作。

1

問題出在您的<form>標籤上。 target屬性設置爲一個ID。目標用於告訴瀏覽器鏈接或窗體應該到哪個框架或窗口。例如, <a href="http://google.com" target="_blank">Google</a>將在新窗口中打開鏈接。而如果你在頁面上有一個框架,並且該框架有一個ID,你可以通過在目標中指定它的ID來告訴一個鏈接在該框架中打開。

因爲您的表單目標設置爲文本,瀏覽器將嘗試找到帶有該ID的窗口或框架,或者如果找不到該窗口或框架,則打開一個新窗口併爲該窗口指定該文本的ID(在你的情況resultaat)。嘗試將目標更改爲self,它應該可以工作。