台灣最大程式設計社群網站
線上人數
1293
 
會員總數:246631
討論主題:190057
歡迎您免費加入會員
討論區列表 >> Java Script/ Node.js >> javascript window.open 回傳值的問題
[]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
javascript window.open 回傳值的問題
價值 : 5 QP  點閱數:8941 回應數:7
樓主

bikeman168
門外漢
0 2
32 3
發送站內信

因為 chrome 不支援 window.showModalDialog ,我想用 window.open 來取代這個功能。
我的應用是父視窗點擊後,跳出子視窗的日曆畫面,點擊子視窗的日期,父視窗得到子視窗日期的回傳值。
但目前的狀況是:子視窗可以正常的打開,點擊之後也會正常的結束,獨獨日期無法回傳給父視窗,困擾已久,請大大開示。
程式碼貼在下方,請參考。

父視窗





子視窗: 可以正結束



本篇文章發表於2015-05-17 14:44
1樓
回應

迷路
捐贈 VP 給 迷路 檢舉此回應
那個dialog的做法
改成這樣試試
父視窗

子視窗


另外
雖然不知道你的父視窗中的objDate是什麼
但是既然你將回傳放在objDate.value中,alert時就要用objDate.value
還有子視窗中指定sDate的值時,要用引號包起來才會是字串
本篇文章回覆於2015-05-18 10:47
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
作者回應

bikeman168
檢舉此回應
迷路您好
小弟曾試過類似您提的方法,但子視窗執行到 setValue 即停住,子視窗也沒有 close 掉。
另外,sDate = '2015-05-11'; 是小弟的筆誤,已修正不影響結果。
父視窗 objDate 是用來接收子視窗點選的日期資料。

父視窗


子視窗如下

本篇文章回覆於2015-05-18 17:03
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
回應

迷路
捐贈 VP 給 迷路 檢舉此回應
我把我的測試原始碼貼上來
父視窗

子視窗
本篇文章回覆於2015-05-18 18:08
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
回應

浩瀚星空
捐贈 VP 給 浩瀚星空 檢舉此回應
先試試把window.close(); 拿掉看看會不會正常。如果會的話。
就將子視的關閉動作寫到母視窗上。

以下修改的程式碼給你參考試試
母視窗程式

子視窗程式
本篇文章回覆於2015-05-19 10:03
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
5樓
回應

育成
捐贈 VP 給 育成 檢舉此回應

windows.open應該不會回傳returnValue因為不是強制回應的視窗主程式不會等returnValue

可能要在子視窗用windows.opener操作父視窗物件,並且不斷置頂直到關閉。
本篇文章回覆於2015-05-19 10:49
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
6樓
回應

lethal
檢舉此回應
若考慮只用chrome的話,直接用 <input type='date'>,省的麻煩∼
http://www.w3schools.com/tags/tryit.asp?filename=tryhtml5_input_type_date
本篇文章回覆於2015-05-23 00:00
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
7樓
作者回應

bikeman168
檢舉此回應
謝謝各位的回覆,我先暫時用直接輸入來解決 chrome 的問題,有時間再試試各位的解法,感恩 !
本篇文章回覆於2015-06-29 16:35
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   
1

回覆
如要回應,請先登入.