Carousel 寫:
Ada 寫:
1. 在驗證動作時原畫面不可以改變。
2. 若驗證失敗,則在原畫面上彈出錯誤視窗 ( alert() )。
3. 若驗證成功,則將某些資料以 form post 的方式交付給遠端網站,同時畫面還給遠端網站。
原則上, 我的看法是匠子
代碼:
<iframe name="process" style="display: none;"></iframe>
<form target="process" action="XXXXX">
..............
</form>
您的例子中, iframe 中, src 可以不寫, 不用隨便放個東西無所謂
XXXX 的內容,基本上是驗證,驗證錯誤, 跳一個訊息(alert())出來沒什麼大問題, 問題是驗證過後
我建議:驗證歸驗證, 顯示歸顯示, 兩支程式
通常您在驗證過後,該作的都已經作了(存cookies, 寫 session 什麼的) , 作完動作就直接轉址到該頁面去
很有趣的狀況:iframe 中若 src 不設定的話,IE 會因為含有安全及不安全的網頁內容而破壞 https 的上鎖狀態;但是 Firefox 1.0 卻沒此問題。
另外,可能是我的題意寫的太差,讓你誤會了。
整個機制總共 4 隻程式,一隻由遠端系統做頁面切換(1)到本地認證頁面(2)、本地認證頁面將使用者資訊送入 Server 端驗證(3)、Server端將驗證結果送回遠端系統的接收端(4)。附加要求是 (2) -- > (3) 之間不可以在視窗上看到換頁的動作。
為了達成這個附加要求,所以才會放一個看不見的 iframe 以便 form 可以將 action 的動作設定到 iframe 中,原始的想法是望當 iframe 中的 Server 端程式完成驗證後,再透過 form target=_top 的方式將驗證後的結果用 post 的方式送回原本包含 iframe 的這個視窗中。
可惜,IE 雖然正常,但 Firefox 卻切不回來... :'(
而為了讓 Firefox 用戶也能完成相關的認證程序才會到這邊詢問有無其他的可行方案。
※註:必須在網址列上避免出現 ...?name=...&pwd=... 的字眼,所以用 top.location = ... 的方式應該是不行了... :'(
引言回覆:
代碼:
驗證部份.....
沒通過, alert();
通過了
<script>window.parent.location='http://moztw.org';</script>
匠子,應可以達到您的要求
如前述,控制權要還給遠端系統,所以無法使用 Session 或 Cookies 方式達成。