2012-06-11 55 views
0

我想實現這樣的事情:如何將彈出窗口重定向到正常加載的頁面?

  1. 點擊一個鏈接,一個彈出窗口將被打開,像註冊頁面。

  2. 提交時,如果數據未填充,則會生成錯誤消息。

但成功提交後,它將被重定向到瀏覽器中較早打開的主頁面。

我使用thickbox作爲彈出功能。在使用下面的代碼重新定向:

<meta http-equiv="refresh" content="1;url=http://localhost/cgi-bin/Ajax/index.pl/"> 

主要頁面被重定向,而是在彈出本身我想彈出成功提交後死亡,主要頁面得到刷新。

+0

這實際上是你不能在perl中實現的東西。您將需要HTML/Javascript功能來執行此操作。請顯示您正在使用的代碼以打開彈出窗口,並在此處執行代碼製作。 – simbabque

+0

這是POPUP的da代碼:print' < link href =「/ thickbox.css」rel =「stylesheet」type =「text/css」/>'; \t print'Add New Platform
'; – vijay

+0

所以它不是一個真正的彈出窗口,而是一個疊加的東西?這應該會更容易。 – simbabque

回答

0

我會假設你使用的是從thickbox網站的iFrame解決方案。在我看來,您必須在網址中設置modal=true部分,並在完成登錄後使用tb_remove()功能。 AJAX版本也是如此。

可選您也可以添加模式= true添加到查詢字符串(如 ?KEEPTHIS =真& TB_iframe =真&高度= 400 &寬度= 600 &模式= TRUE),這樣 關閉ThickBox時會調用ThickBox iframe中的 的tb_remove()函數(self.parent.tb_remove())。有關示例,請參閱iframe 演示,您必須單擊「確定」關閉ThickBox。

因此,您應該在javascript中添加這樣的內容(從perl iirc打印出來)。

<script type="text/javascript"> 
tb_remove(); 
</script> 
<meta http-equiv="refresh" content="1; 
     url=http://localhost/cgi-bin/Ajax/index.pl/"> 

請注意,我沒有測試過這個,我只是指的是文檔。

+0

thnx ...這是非常有用的:) – vijay

+0

你能幫我wid如何調用在perl提交按鈕上的thickbox? – vijay

+0

再次,這不是perl。你在談論JavaScript。我想你可以在窗體中添加一個''onsubmit''處理程序。就像'

...
'。但是如果你在談論別的什麼,你應該開一個新的問題,並考慮daxim和我編輯這個問題的方式。 ;-) – simbabque

相關問題