我是JavaScript的新手。 我的功能无法正常工作。 我有一些输入文本(多个,类似)。我为每个人添加了一个id。
我使用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(),但我想我错了。
任何想法如何做到这一点?
谢谢。
答案 0 :(得分: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
,则应使用iframe的contentWindow
属性而不是代码所在的window
。有关iframe
的更多详情,请查看this page。