子窗口使用window.opener调用父窗口函数动态增删表格行数的问题

本文介绍了在使用IE11浏览器时,子窗口通过window.opener调用父窗口函数实现动态增删表格行数遇到的问题及解决方案。在调用过程中,虽然遇到未解决函数警告但依然能成功运行。主要问题在于删除函数接收到的参数并非预期的id,而是行对象。通过调整,实现了动态增加和删除功能。此外,还发现设置重复id时,删除操作会异常,只删除第一行,直至不存在重复id时才恢复正常删除行为。
摘要由CSDN通过智能技术生成

子窗口使用window.opener调用父窗口函数动态增删表格行数的问题
使用IE11浏览器
1、在子窗口调用函数的地方报了一个未解决的函数的警告,不过运行也是可以成功
2、在主窗口中调用删除表格的行数传递参数很诡异`
(1)从下面代码中可以看到,我设置了新插入行的id是invregnum,这是一个表格的主键,不会重复,就刚好用来设置id了;
(2)然后因为它是id,想着删除的时候通过它来获取行的index,就作为参数,传给删除函数了,删除函数在第一个函数的最后一行;
(3)但是传过去以后,通过alter打印,我发现接收到的并不一个id,而是一个行的对象,所以在删除函数里面我直接使用它调用rowIndex方法获取行号删除;在增加函数里面使用alter单独打印invregnum也可以看到是一个字符串。
(4)最后完成子窗口动态增加父窗口表格行,删除行的功能。
(5)另外还有一个小问题,就是在子窗口增加行的时候,会给行设置一个id,当设置一个重复的id的时候,在刚刚设置完成的时候去读取的话,也是没有问题的,可是在调用删除函数去读取的时候就会将表格的第一行给删掉,而且我测试的结果是只要表格中存在两个相同的id,则两个id行对应的行号都是Undefined,删除重复id行时时只会删除第一行,直到没有重复id行才会进行正常删除

//动态添加企业投资人信息
  function addInv(invname,cty,orgcode,invregnum){
   
    //根据ID拿到表格table
    var invtable = window.document.getElementById("Invtable");

    //获取表格长度
    var index = invtable.rows.length;
    
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值