window.opener checkbox传值问题

今天遇到页面之间的传值问题,一个页面以window.open()的方式打开一个新的页面,要把device.jsp页面列表中所有的

checkbox:像下面这样

 

<form name="queryListForm">
    <input type="checkbox" name="deviceList" value="device1"/> 
    <input type="checkbox" name="deviceList" value="device2"/> 
    <input type="checkbox" name="deviceList" value="device3"/> 
    ......
</form>

 

 传到deviceIssued.jsp页面中。

 这里有两种方式:

 第一种就是url地址传值,但是这样是有问题的,url传值是有长度限制的,一旦数据多的时候,就无法全部传递,所有这种方式只能放弃。

 第二种就是:

 

window.opener

 

 的方式获取父窗体的节点。

 

 

var deviceList = window.opener.document.queryListForm.deviceList;
var length = deviceList.length;
var checkValue = [];
for (i = 0; i < length; i++) {
	if(deviceList[i].checked) { // 判断checkbox是否被选择
		checkValue.push(deviceList[i].value);
	}
}
 

 

      但是写完测试后发现有个问题,选多个checkbox是没有问题的,但是只选择一个的时候就无法传递,用firebug进行了debug调试,发现只选择一个checkbox的时候length是undefined,选择多个的时候就没有问题,可以取得长度数值  。怎么试也没用,以为是浏览器的缓存问题,还关机重启了一下,结果发现还是不行。

      没办法,只能再用firebug再继续debug调试,这时候发现选择多个checkbox的时候deviceList其实是一个数组,deviceList.length肯定是能取到值的。而只选择一个的时候就是一个节点对象,

这时是没有deviceList.length是取不到任何值的,只会返回undefiend。所以这时必须得判断是选择多个还是一个,

即判断var length 是否是undefiend.

最后的代码改为如下即可:

 

 

$(function() {
	var deviceList = window.opener.document.queryListForm.deviceList;
	var length = deviceList.length;
	
	if(length == undefined) { // 只选择了一个checkbox
		$("#deviceParamList").val(deviceList.value);
	}else { // 选择了多个checkbox
		var checkValue = [];
		for (i = 0; i < length; i++) {
			if(deviceList[i].checked) { // 判断checkbox是否被选择
				checkValue.push(deviceList[i].value);
			}
		}
	
		$("#deviceParamList").val(checkValue);
	}
});
 

 

 

 

【人工智能】全面盘点国内AI九大模型:各擅胜场的智能先锋(豆包、文心一言、讯飞星火、通义千问、Kimi、智谱清言、腾讯元宝、秘塔、天工AI) 追求性价比与全能:选豆包,适合个人与中小企业日常使用;侧重中文创作与理解:选文心一言,文学与商业文案创作首选;需要专业语音交互:选讯飞星火,智能客服、车载场景必备;看重生态与多场景:选通义千问,适配电商、办公等企业需求;处理超长文本任务:选Kimi,文档分析、学术研究的利器;专注深度推理创作:选智谱清言,学术与创意写作的伙伴;依赖腾讯生态协同:选腾讯元宝,日常轻量需求的便捷之选;深耕法律学术领域:选秘塔,专业文本处理的权威工具;布局前沿技术体验:选天工AI,享受接近国际顶尖的智能服务。 阅读详情

相关推荐

【超简单】一文入门在Ubuntu系统使用GitHub

Github是基于git的代码仓库,对于开发项目的科研者或者工程师,代码仓库都是不可多得的版本控制与多端编程工具,今天这篇文章带你轻松Github入门,简单的项目本文的操作足矣。

a13337649640的博客 5238

Windows窗体控件CheckBox使用

通过判断CheckBox是否选中,来执行某些特定操作。 if (checkBox2.Checked == true && checkBox3.Checked == true) MessageBox.Show("2+3");

Mike_detailing的博客 710

专项1.CCS代码补全与快捷键优化全攻略

本文全面解析CCS开发环境的代码补全功能与快捷键优化技巧,包括内容辅助触发机制、快捷键自定义配置、编码效率提升方法等实用内容。通过详细步骤指导开发者优化CCS配置,实现高效的代码自动补全和个性化快捷键设置,显著提升嵌入式开发效率。

kotlin6android的博客 226

关于window.opener无效问题

问题描述: 在父窗口中window.open()打开一个子窗口,  子窗口通过window.opener.document.getElementById().innerHTML="" 来给父窗口传至时无效 经过测试, 在IE10中可行, 但是在opera和chrome中无效 a.html getChildWindow b.html wi

leon的博客 1万+

WRF-CHEM 新手向实践(四):化学初始/边界场及namelist设置

这是这个系列的最后一节了,这些经验是自己作为一个半路出家的外行一步步摸索出来的,其中不免有很多理解不到位的地方,但也正是如此,我相信这是目前新手入门wrf-chem最友好的教程之一,希望能对大家有实质性的帮助。本节继续未完成的内容。在mozbc生成化学初始和边界条件之前,还需要先在wrfinput文件中开启化学部分。

qq_42335815的博客 4638

3D打印必备:如何用Blender将NWD文件转成STL(附精度调整技巧)

本文详细介绍了如何使用Blender将NWD文件转换为STL格式,特别针对3D打印需求提供了精度调整技巧。从环境准备到分步转换流程,再到3D打印专属优化策略,帮助设计师解决破面、尺寸偏差等常见问题,实现高效、精准的格式转换。

week9的博客 272

js前端操作checkbox赋值与取值

1. 获取到页面的元素往chackbox赋值 2. 遍历页面checkbox所有值拼成一个字符串。 上代码: <script LANGUAGE="JavaScript"> $(document).ready(function () { $.ajax({ url: '/app/certpolicy.json', ...

sijihereshui的博客 5476

CGAL AlphaShape算法(自适应Alpha值,二维版本)

CGAL AlphaShape算法(自适应Alpha值,二维版本)

dayuhaitang1的博客 2326

window.opener 的用法

window.open()支持环境: JavaScript1.0+/JScript1.0+/Nav2+/IE3+/Opera3+ 基本语法: window.open(pageURL,name,parameters) 其中: pageURL 为子窗口路径 name 为子窗口句柄 parameters 为窗口参数(各参数用逗号分隔) 示例: ...

weixin_30246221的博客 370

R语言单因素被试内ANOVA检验

在R语言中,我们可以使用多种方法进行被试内ANOVA检验,其中包括使用内建函数或使用外部包。我们随机选择了10个被试,并对每个被试使用了三种不同的药物处理。通过上述代码示例,我们可以使用R语言进行单因素被试内ANOVA检验。假设我们的数据存储在一个名为"data"的数据框中,其中包含两个列:一个列是被试的编号,另一个列是生物指标的测量值。在上述代码中,我们创建了一个名为"data"的数据框,其中"Subject"列包含了被试的编号,"Measurement"列包含了生物指标的测量值。参数指定了数据来源。

PixelNovaO的博客 364

工业质检封神!YOLOv8实战金属表面缺陷检测,自建数据集mAP突破95%

本文详细介绍了基于YOLOv8的金属表面缺陷检测实战方案。针对工业质检中的光照不均、纹理复杂、小样本等挑战,作者构建了12000张图像的数据集,提出针对性数据增强策略和两阶段训练方法。通过优化损失函数、调整超参数等技术手段,最终在测试集上达到95.1%的mAP@0.5,检测速度32FPS。相比传统方法,该方案在精度和鲁棒性上均有显著提升,为工业视觉质检提供了可复现的落地解决方案。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 428

window.opener()的用法

window.opener 返回的是创建当前窗口的那个父窗口的引用,比如点击了a.htm上的一个链接而打开了b.htm,然后我们打算在b.htm上输入一个值然后赋予a.htm上的一个id为“name”的textbox中,就可以写为: window.opener.document.getElementById("name").value = "输入的数据"; 对于javascri...

weixin_30361753的博客 477

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

使用 window.opener 在window.open打开的子页面操作父页面元素

最近需求越来越奇怪了 要在window.open()打开的页面 点击保存按钮的时候 操作回显父页面的 百分比 查来查去 用window.opener方法解决 主要有以下几种 //相当于$("#..").html("...") window.opener.document.getElementById(id).innerHTML = html //此为操作父页面中的函...

weixin_41634885的博客 1699

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

退出父窗口,window.opener.location, ,checkbox checd

  function chk(chk,id) { var oEvent = document.all(id); var chks = oEvent.getElementsByTagName("INPUT"); for(var i=0;  i&lt;chk.leng,i++) if(chks[i].type=="checkbox") chks[i].checked=chk.checked;...

weixin_34007906的博客 145

贝叶斯统计 [韦来生编]

贝叶斯(Bayes)统计是近几十年来迅速发展起来的数理统计的一个重要分支。贝叶斯方法与经典统计方法的主要不同之处是进行统计推断时除了利用样本信息外,还要利用参数的先验信息,因此可以提高统计推断或统计决策的效果。它在经济、金融、生物、医学、自然科学和社会科学等许多领域具有广泛的应用。贝叶斯方法的研究已渗透到了统计学的几乎所有领域。作者在给中国科学技术大学概率论与数理统计专业本科生开设的“数理统计”课程中有一章专门讲授“贝叶斯方法和统计决策理论”,近十年来也给中国科学技术大学概率统计专业研究生开设过几次“贝叶斯分析”课。本书是在对过去讲稿的内容作了适当的增减和调整的基础上完成的。  本书共分六章。第1章是绪论,介绍了贝叶斯统计的若干基本概念,同时对必要的数理统计的基础知识有重点地作了回顾。第二章介绍了确定先验分布的若干可供选择的方法。第三章介绍了几类常见统计模型参数的后验分布的主要结果和计算方法。第四章和第五章分别介绍了“贝叶斯统计推断”和“贝叶斯统计决策”的内容。第六章介绍了贝叶斯统计计算的若干方法,包括蒙特卡洛方法和马尔可夫链蒙特卡洛(MCMC)方法以及相关统计软件的简介。本书的每一章附右大量的例题和习题,书末附有常用的几个表格和部分习题解答供读者查用。  大约可在54学时内讲授本书的第1章至第六章的主要内容,教师可根据学时需要选讲本书第1章至第六章的部分内容。书中标“*”号的章节可略去不讲,留给读者作为阅读材料。第六章例题中的R代码和部分例题的数据文件等可从作者个人主页下载。  作者在编写本书的过程中参考了J.O.Berger教授的《统计决策论及贝叶斯分析》和茆诗松教授编写的《贝叶斯统计》等书中的一些内容,以及《贝叶斯分析》一书中由张伟平博士编写的有关贝叶斯统计计算的一些内容。在此表示衷心感谢。  本书编写准备过程中,中国科学技术大学统计与金融系的几个研究生帮助完成了本书部分中文的录入和排版,作者对他们的辛勤工作表示真诚的感谢。高等教育出版社为本书的出版给予了大力支持。在此一并致谢。

非模态窗口页面传值

  <!-- function selectMade(){  //将本页选中的值传到上层页面  var xm = document.getElementsByName("chkxm")  for (var i=0;i<xm.length ;i++ )  {   if(xm[i].checked==true){    window.opener.document.ge

254

jQuery对checkbox的各种操作(详细)

1 //注意: 操作checkbox的checked,disabled属性时jquery1.6以前版本用attr,1.6以上(包含)建议用prop 2 3 //1、根据id获取checkbox 4 $("#cbCheckbox1"); 5 6 //2、获取所有的checkbox 7 $("input[type='checkbox']");...

TofuCai的博客 365

window.open()运用

window.open()支持环境: JavaScript1.0+/JScript1.0+/Nav2+/IE3+/Opera3+ 基本语法: window.open(pageURL,name,parameters) 其中: pageURL 为子窗口路径 name 为子窗口句柄 parameters 为窗口参数(各参数用逗号分隔) 示例: ...

我的世界里头,谁懂我! 300

window.open向父窗口返回值

2012-03-25 16:05:07|  分类: Java |  标签:window.open   |字号 订阅 基本语法: window.open(pageURL,name,parameters) 其中: pageURL 为子窗口路径 name 为子窗口句柄 parameters 为窗口参数(各参数用逗号分隔) 示例:

踩袅的专栏 2734

在当前页面选中打开新页面传值回到前页面

测试页面:&lt;html&gt;&lt;head&gt;&lt;title&gt;测试&lt;/title&gt;&lt;script&gt;function selectWin(index){   if(index==1)   {      window.open("1.html");   }   else   {     window.open("2.html");   }}&amp

qq_41330414的博客 1049

前端学习第一天

BOM(Browser Object Model)是浏览器对象模型。 在客户端中window是全局对象,window对象就相当于浏览器上打开的一个窗口 浏览器可以通过调用系统对话框,向用户显示信息,主要有三个函数: alert(warning): 【功能】直接弹出警告框,可以通过window.alert(warning)调用。由于window下的函数,都可以省略window直接去调用,所以一般都是直接写成alert(warning);【参数】:只有一个参数,为警告框下的内容;【返回值】:无返回值; con

Lei190的博客 279

选择一个页面的值传到另一个页面的文本域中

index.jsp页面代码 select.jsp页面代码 1 2 3 4 5

咖啡Java 266

查找带回

经常用到的查找带回,通过window.open()打开新页面,然后在子页面window.opener方法将选中的值传递给父页面。 兼容谷歌,火狐,IE7 父页面parent.html,代码如下<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <scrip

水荷的博客 1768

javascript实现父子页面数据传递

实现弹出窗口,将弹出窗口数传递到创建它的窗口。如果是用父和子来说,将子窗口数据传递到父窗口。 Window 对象 Window 对象表示浏览器中打开的窗口。 opener 属性是一个可读可写的属性,可返回对创建窗口的window对象引用。 opener属性非常有用,创建的窗口可以引用创建它的窗口所定义的属性和方法。 TABLE 对象 Table对象代表一个HTML标签,在HTML文档中

. 692
上一篇: API和接口的一些思考
下一篇: Oracle内部代码错误
yklovejava
博客等级 码龄14年 0粉丝 22原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值