记在学习编程中的问题

文章讲述了在处理多个PDF文件上传时,由于使用了相同的ID导致删除按钮功能出错。通过为每个上传文件的删除按钮分配不同的ID,解决了删除操作时的Node类型错误。作者提供了修改后的代码片段以供参考。
摘要由CSDN通过智能技术生成

当有多个上传项目时,如:

1.上传1PDF文件

2.上传2PDF文件

3上传3PDF文件

为了方便,我一开始直接copy的一模一样的代码,三个上传显示文件的代码都是用的一样的id,导致在删除该条记录时,会出现

“Failed to execute 'removeChild' on 'Node': parameter 1 is not of type 'Node'.”

的错误。

当我将三个id分别区分,同时写了三个删除函数后,问题解决。

原先的代码

//第一个上传显示文件
<div id="ceshi_pdf">
    <input onclick="showDialog1(this.src)" src="/importPDf/测试pdf文件1.pdf" id="htname_pdfid1" class="btn btn-primary" name="htpdf1" type="button" value="测试pdf文件1.pdf" style="margin-left: 10px; margin-top: 10px; margin-right: 20px; width: 150px">
    <input name="htpdf1" id="htpdf_id1" type="hidden" value="/importPDf/测试pdf文件1.pdf">
    <input type="button" id="htdelete_id1" value="删除" class="btn btn-primary" style="margin-left: 10px; margin-top: 10px; margin-right: 20px;" onclick="deletebtn(htdelete_id1,htpdf_id1,htname_pdfid1)">                                            
    <br>
</div>

//第二个上传显示文件
<div id="ceshi_pdf">
    <input onclick="showDialog1(this.src)" src="/importPDf/测试pdf文件1.pdf" id="htname_pdfid1" class="btn btn-primary" name="htpdf1" type="button" value="测试pdf文件1.pdf" style="margin-left: 10px; margin-top: 10px; margin-right: 20px; width: 150px">
    <input name="htpdf1" id="htpdf_id1" type="hidden" value="/importPDf/测试pdf文件1.pdf">
    <input type="button" id="htdelete_id1" value="删除" class="btn btn-primary" style="margin-left: 10px; margin-top: 10px; margin-right: 20px;" onclick="deletebtn(htdelete_id1,htpdf_id1,htname_pdfid1)">                                            
    <br>
</div>

//第三个上传显示文件
<div id="ceshi_pdf">
    <input onclick="showDialog1(this.src)" src="/importPDf/测试pdf文件1.pdf" id="htname_pdfid1" class="btn btn-primary" name="htpdf1" type="button" value="测试pdf文件1.pdf" style="margin-left: 10px; margin-top: 10px; margin-right: 20px; width: 150px">
    <input name="htpdf1" id="htpdf_id1" type="hidden" value="/importPDf/测试pdf文件1.pdf">
    <input type="button" id="htdelete_id1" value="删除" class="btn btn-primary" style="margin-left: 10px; margin-top: 10px; margin-right: 20px;" onclick="deletebtn(htdelete_id1,htpdf_id1,htname_pdfid1)">                                            
    <br>
</div>

//删除
<script type="text/javascript">

    var ceshi_pdf = document.getElementById("ceshi_pdf");

    function deletebtn(delete_id, pdf_id, name_pdfid) {
        ceshi_pdf.removeChild(delete_id);
        ceshi_pdf.removeChild(pdf_id);
        ceshi_pdf.removeChild(name_pdfid);
    }

</script>

修改后的代码

//第一个上传显示
<div id="ceshi_pdf">
    <input onclick="showDialog1(this.src)" src="/importPDf/测试pdf文件1.pdf" id="htname_pdfid1" class="btn btn-primary" name="htpdf1" type="button" value="测试pdf文件1.pdf" style="margin-left: 10px; margin-top: 10px; margin-right: 20px; width: 150px">
    <input name="htpdf1" id="htpdf_id1" type="hidden" value="/importPDf/测试pdf文件1.pdf">
    <input type="button" id="htdelete_id1" value="删除" class="btn btn-primary" style="margin-left: 10px; margin-top: 10px; margin-right: 20px;" onclick="deletebtn(htdelete_id1,htpdf_id1,htname_pdfid1)">                                            
    <br>
</div>

//第二个上传显示
<div id="cgbtn_pdf">                                                   
    <input onclick="showDialog1(this.src)" src="/importPDf/测试pdf文件1.pdff" id="cgname_pdfid1" class="btn btn-primary" name="cgpdf1" type="button" value="测试pdf文件1.pdf" style="margin-left: 10px;  margin-right: 20px;width:150px">                                             
    <input name="cgpdf1" id="cgpdf_id1" type="hidden" value="/importPDf/测试pdf文件1.pdf">                                            
    <input type="button" id="cgdelete_id1" value="删除" class="btn btn-primary" style="margin-left: 10px; margin-top: 10px; margin-right: 20px;" onclick="cgdeletebtn(cgdelete_id1,cgpdf_id1,cgname_pdfid1)">                                                    
    <br>                                                                               
</div>

//第三个上传显示
<div id="zfbtn_pdf">
    <input onclick="showDialog1(this.src)" src="/importPDf/测试pdf文件1.pdf" id="zfname_pdfid1" class="btn btn-primary" name="zfpdf1" type="button" value="测试pdf文件1.pdf" style="margin-left: 10px;  margin-right: 20px;width:150px">
    <input name="zfpdf1" id="zfpdf_id1" type="hidden" value="/importPDf/测试pdf文件1.pdf">
    <input type="button" id="zfdelete_id1" value="删除" class="btn btn-primary" style="margin-left: 10px; margin-top: 10px; margin-right: 20px;" onclick="zfdeletebtn(zfdelete_id1,zfpdf_id1,zfname_pdfid1)">
    <br>            
</div>

//删除
<script type="text/javascript">

    var ceshi_pdf = document.getElementById("ceshi_pdf");

    function deletebtn(delete_id, pdf_id, name_pdfid) {
        ceshi_pdf.removeChild(delete_id);
        ceshi_pdf.removeChild(pdf_id);
        ceshi_pdf.removeChild(name_pdfid);
    }

</script>
<script type="text/javascript">

    var cgbtn_pdf = document.getElementById("cgbtn_pdf");

    function cgdeletebtn(delete_id, pdf_id, name_pdfid) {
        cgbtn_pdf.removeChild(delete_id);
        cgbtn_pdf.removeChild(pdf_id);
        cgbtn_pdf.removeChild(name_pdfid);
    }

</script>

<script type="text/javascript">

    var zfbtn_pdf = document.getElementById("zfbtn_pdf");

    function zfdeletebtn(delete_id, pdf_id, name_pdfid) {
        zfbtn_pdf.removeChild(delete_id);
        zfbtn_pdf.removeChild(pdf_id);
        zfbtn_pdf.removeChild(name_pdfid);
    }

</script>

  • 9
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
max96712是一位热爱学习编程的学生。他从小就对计算机科学和编程产生了浓厚的兴趣,因此他积极参加各种编程学习活动,并且记录了他的学习过程。 在学习记录方面,max96712养成了一个良好的学习习惯。他会将每一次学习的内容和进展都详细地记录下来,包括学习的时间、地点、学习的主题和内容等。这样的学习记录有助于他复习和总结,也方便他将来回顾和分享自己的学习经验。 在编程实践方面,max96712不仅在课程学习编程知识和技巧,还注重积累实践经验。他会主动参加编程竞赛、参与开源项目或者自己动手完成一些小项目。这样的实践锻炼使他的编程能力得到了很大的提升,并且他也通过实践发现了自己在编程过程的不足之处,进而加以改进。 max96712的学习记录和编程实践给他带来了很多好处。首先,这些记录帮助他发现自己的学习方法和效率,进而优化学习计划。其次,这些实践经验不仅让他在学术上得到了锻炼,也提高了他的解决问题的能力和创新思维。此外,这些记录和实践还为他申请进入优秀高校提供了有力的证明,并且也有助于他将来找工作时展示自己的实力和经验。 总之,max96712通过学习记录和编程实践不断提升自己的编程水平和综合能力。他将这些经验视为个人成长的重要组成部分,也将其应用于学业和职业发展
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值