Javascript开启器窗口
我有一个打开窗口的函数,新打开的窗口中的值列在“打开器”窗口中。 第二个窗口-具有以下功能:Javascript开启器窗口,javascript,jquery,html,jsp,Javascript,Jquery,Html,Jsp,我有一个打开窗口的函数,新打开的窗口中的值列在“打开器”窗口中。 第二个窗口-具有以下功能: function AddOtherRefDoc(name, number) { var remove = "<a href='javascript:void(0);' onclick='removeRefDoctor(this)'>Remove</a>"; var html = "<li><b> Referral Doctor: </
function AddOtherRefDoc(name, number) {
var remove = "<a href='javascript:void(0);' onclick='removeRefDoctor(this)'>Remove</a>";
var html = "<li><b> Referral Doctor: </b>"+name+"<b>, Referral No: </b>"+number+ " " +remove+" <input type='text' name='ref_docs' value='"+name+"'></input><input type='text' name='ref_nos' value='"+number+"'></input></li>";
opener.jQuery("#r_docs").append(jQuery(html));
}
–
此函数返回一个错误,表示“ref_docs”和“ref_nos”未定义。我认为它试图使用另一页上的jQuery在当前页上查找“#r_docs” 尝试: 更新: 我创建了index.html:
<!DOCTYPE html>
<html><head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<title> - jsFiddle demo</title>
<script type="text/javascript" src="http://code.jquery.com/jquery-1.5.2.js"></script>
<script type="text/javascript">
window.jQuery = jQuery;
function openChild ()
{
var mychildwin = window.open("child.html");
}
</script>
</head>
<body>
<input type="button" value="click" onclick="openChild();" />
<div id="r_docs">
Redocs here.
</div>
</body>
</html>
你的表格在哪里
<form id="updatedelete" ... >
访问DOM元素的函数不正确<代码>更新删除不是
文档
的属性,访问参考文档
或参考编号
属性也不会自动生成输入
元素的集合。由于您已经在使用jQuery,请尝试以下操作:
var ref_docs = $('input[name="ref_docs"]');
var ref_nos = $('input[name="ref_nos"]');
这将为您提供数组(或至少类似数组)对象,让您可以访问输入:
var rdocs = new Array();
var rnos = new Array();
ref_docs.each(function() { rdocs.push($(this).val()); } );
ref_nos.each(function() { rnos.push($(this).val()); } );
$('#r_doctor').val(rdocs.join(";"));
$('#r_doctor_ohip').val(rnos.join(";"));
不,这没用。项目符号甚至没有像以前那样显示在代码中。opener.document显示项目符号,但它没有保存ref_docs和ref_nos的输入值。@James Khoury console在另一个Javascript函数中使用时说“ref_docs”和“ref_nos”未定义。您如何使用该函数?在我的示例中,我传入了静态值。您是否能够显示更多的html?我正在根据从新打开的页面中选择的复选框传递值。您使用了错误的文档。请记住,默认情况下,jQuery使用“当前文档”(即包含用于加载jQuery的
脚本标记的文档)。如果要在不同的文档(如框架或不同的窗口)中定位标记,必须告诉jQuery。
<!DOCTYPE html>
<html><head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<title> - jsFiddle demo</title>
<script type="text/javascript" src="http://code.jquery.com/jquery-1.5.2.js"></script>
<script type="text/javascript">
function AddOtherRefDoc(name, number) {
var remove = "<a href='javascript:void(0);' onclick='removeRefDoctor(this)'>Remove</a>";
var html = "<li><b> Referral Doctor: </b>"+name+"<b>, Referral No: </b>"+number+ " " +remove+" <input type='text' name='ref_docs' value='"+name+"'></input><input type='text' name='ref_nos' value='"+number+"'></input></li>";
jQuery(opener.document).find("#r_docs").append(html);
}
</script>
</head>
<body>
<input type="button" value="click" onclick="AddOtherRefDoc('name', 42);"/>
</body>
</html>
jQuery("#updatedelete")
.find('input[name="ref_docs"], input[name="ref_nos"]')
<form id="updatedelete" ... >
var ref_docs = $('input[name="ref_docs"]');
var ref_nos = $('input[name="ref_nos"]');
var rdocs = new Array();
var rnos = new Array();
ref_docs.each(function() { rdocs.push($(this).val()); } );
ref_nos.each(function() { rnos.push($(this).val()); } );
$('#r_doctor').val(rdocs.join(";"));
$('#r_doctor_ohip').val(rnos.join(";"));