gpt4 book ai didi

JavaScript 打开窗口

转载 作者:行者123 更新时间:2023-12-02 20:18:57 26 4
gpt4 key购买 nike

我有打开一个窗口的函数,新打开的窗口中的值会在打开窗口中列出。 第二个窗口 - 有这个功能:

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));
}

调用上面函数的函数是:

function addRefDoc(){

var count = 0;
var ref_docarray ;
var ref_noarray ;

<%for(int i1=0; i1<vec.size(); i1++) {
prop = (Properties) vec.get(i1);
String ref_no = prop.getProperty("referral_no","");
String ref_name = (prop.getProperty("last_name", "")+ ","+ prop.getProperty("first_name", ""));
%>
if(document.getElementById("refcheckbox_<%=ref_no%>").checked) {
count++;

if ((ref_doctor!=null)&&(ref_doctor!="")&&(ref_docno!=null)&&(ref_docno!="")) {
ref_docarray = ref_doctor.split(";");
ref_noarray = ref_docno.split(";");

if ((containsElem(ref_docarray,"<%=ref_name%>"))||(containsElem(ref_noarray,<%=ref_no%>))) {
alert("Referral doctor " + "<%=ref_name%>" + " already exists");
} else {
AddOtherRefDoc("<%=ref_name%>", <%=ref_no%>);
}
} else {
AddOtherRefDoc("<%=ref_name%>", <%=ref_no%>);
}
}

<%} %>

self.close();
}

function containsElem(array1,elem) {
for (var i=0;i<array1.length;i++) {
if(array1[i]==elem){
return true;
} else{
return false;
}
}
}

当调用此函数时,它应该将 2 个输入元素“ref_docs”和“ref_nos”携带到打开此窗口的页面中。但它并没有这样做。它列出了正确的元素,但是当我尝试在第一个窗口的另一个 Javascript 函数中使用“ref_docs”和“ref_nos”时,我看到“ref_nos”和“ref_docs”是空的。

我做错了什么?

function updateRd(){ 
var ref_docs = jQuery("#updatedelete").find('input[name="ref_docs"]');
var ref_nos = jQuery("#updatedelete").find('input[name="ref_nos"]'); alert(ref_docs.val() + ref_nos.val());
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(";")); }

--此函数返回一个错误,指出“ref_docs”和“ref_nos”未定义。

最佳答案

我认为它正在尝试使用其他页面上的 jQuery 来查找当前页面上的“#r_docs”。

尝试:

jQuery(opener.document).find("#r_docs").append(html);

更新:

我创建了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>

和child.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">
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>

更新2:

在您的更新函数 document.updatedelete 中没有属性 ref_docs 和 ref_nos。

尝试:

jQuery("#updatedelete")
.find('input[name="ref_docs"], input[name="ref_nos"]')

您的表单在哪里

<form id="updatedelete" ... >

关于JavaScript 打开窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5864140/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com