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(";"));