2011-06-06 47 views
0

從javascript我知道如何: 在其他窗口中打開一個html頁面, 在其他窗口填寫表格 從其他窗口提交表格從javascript,我如何獲得提交的響應頁面

我不知道的是,我該如何從提交中訪問響應頁面。它可能從JavaScript?

這是據我已經得到了:

var nwin=open("http://myotherpage.html","");  
var frm_p = nwin.document.getElementById("frm_id"); 
var data_p = nwin.document.getElementById("input_data_id"); 
data_p.value = "my data"; 
frm_p.submit(); 

爲了讓事情更清晰,myotherpage.html有一種形式:

<form id="frm_id" action="getResponse.html" method="post"> 
<input id="input_data_id" type="text" /> 
<input type="submit" value="Submit" /> 
</form> 

我想訪問getResponse.html從提交回來的頁面

+1

你的意思是window.opener.document.form.submit?哪個頁面將成爲響應頁面?孩子窗戶? – MLS 2011-06-06 18:21:17

+0

var nwin = open(...,用第二頁打開另一個窗口,然後js填寫表單並提交它(在第二頁上)。提交的表單返回一個響應頁面。喜歡在我的js中訪問 – sdfor 2011-06-06 18:57:52

回答

1

確保表單的action='#',然後將en事件監聽器放在frm_p上。您應該能夠訪問偵聽器中表單的元素,然後在獲得所有元素的值後關閉該窗口。

如果單擊提交關閉打開的窗口,然後您不再訪問表單的元素,我會更改提交按鈕以鍵入button並將事件偵聽器放在按鈕上。只要確保在監聽器中手動關閉窗口。

+0

也就是說,假設你正在嘗試在父窗口中處理表單 – AsherMaximum 2011-06-06 18:30:58

+0

作爲一個方面說明,如果可以的話,我會避免打開新窗口,在具有彈出窗口的瀏覽器中可能是不可預知的我會建議創建一個覆蓋來顯示你的表單,類似於這個插件中的圖片覆蓋:[lightbox2](http://www.lokeshdhakar.com/projects/lightbox2/#example) – AsherMaximum 2011-06-06 18:34:28

+0

謝謝,但是,我無法更改表單的動作,它打開了另一個html頁面,我的javascript在另一個窗口中打開第二頁,填充表單,提交表單,並且它(第二頁)具有不同頁面的動作,窗口。 – sdfor 2011-06-06 18:52:47