2017-04-14 69 views
0

我是JavaScript新成員。 我有一個不能按我的預期工作的功能。 我有一些輸入文字(多重,相似)。我爲每個添加了一個ID。window.open無法正常工作,需要一些建議

我使用JavaScript函數來獲取值,然後將它們轉移到另一個頁面進行處理。但我的功能腳本出錯了,我需要一個解決方案,請幫助。

此腳本不斷打開一個新選項卡。我想要的只是打開它的窗口,目前在一個名爲'main'的框架中。

這是我的函數:

function addFrame(fid){ 
    var xfra= "x"+fid; 
    var nfr= document.getElementById(xfra).value; 
    var nwo= fid; 
    var link= "http://127.0.0.1/nims/index.php/jpbgr/frame/18? 
    xid=18&menu=new&order="+nwo+"&frame="+nfr; 
    var Util= window.open(link); 
} 

即使我改:

var Util= window.open(link, "main");

但仍然沒有工作。

我使用了CodeIgniter。

謝謝。

=======
這是索引文件:

<!DOCTYPE html> 
<html> 
    <head> 
    <title>IMS-2017</title> 
    </head> 
    <frameset rows="0,*" frameborder=0 noresize> 
    <frame src="dummy.php" name="top" frameborder=0 noresize> 
    <frame src="./../nims/index.php/jpbgr/proses/18?xid=18&jid=CR" name="main"> 
    </frameset> 
</html> 

body標籤裏面的形式:

<form> 
<input type="text" placeholder="Frame Number" id="x1015909"> 
<button onclick="addFrame('1015909');">GO</button> 
</form> 

我想這個功能將輸入到文本其他頁面,但仍在同一窗口中。我的第一個嘗試是使用window.open(),但我想我錯了。

任何想法該怎麼做?

謝謝。

+2

你的問題似乎還不清楚。你有一個iframe,你想要加載到iframe中?如果是的話,你還可以添加代碼片嗎? – nitobuendia

+0

花一些時間閱讀[問]。需要更詳細的問題描述,它做什麼或不做什麼,它產生的錯誤等。還需要時間閱讀[mcve] – charlietfl

+0

*此腳本保持打開一個新的選項卡。* thats什麼window.open does.May看看window.location =「http:// test」; –

回答

1

首先,您應該使用encodeURIComponent作爲您的值,以使其安全通過。如果你想留在同一個標​​籤,你可以嘗試window.location

例如,

function addFrame(fid){ 
    var xfra= encodeURIComponent("x"+fid); 
    var nfr= encodeURIComponent(document.getElementById(xfra).value); 
    var nwo= encodeURIComponent(fid); 
    var link= "http://127.0.0.1/nims/index.php/jpbgr/frame/18?xid=18menu=new&order="+nwo+"&frame="+nfr; 
    var Util= window.location(link); 
} 

以上將停止運行當前頁面並在代碼中正在運行的選項卡中打開新的一頁。如果你想填充一個iframe,你應該使用contentWindow屬性而不是您的代碼所在的window。有關iframe的更多詳細信息,請參閱this page

+0

謝謝安德魯,仍然不是我在找什麼。 –