hehe12121 2017-06-07 10:28 采纳率: 0%
浏览 2943

Ie控制台报错--无法获取未定义或 null 引用的属性“mr_changed”

这段代码比较长,就是js实现动态表格添加数据,通过onblur事件实现只在修改的数据前面加上标记“1”,然后后台通过标记有选择的更新数据。但是有两个问题
1.自带数据修改onblur事件不触发
2.只有点击新增表格,新增修改表格数据,onblur才触发,但是触发后控制台报错
----无法获取未定义或 null 引用的属性“mr_changed”。
初学者,大家帮帮忙啊
图片说明

<%@ page language="java" pageEncoding="UTF-8"%>
<%@ include file="../../base.jsp"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title></title>
    <script type="text/javascript" src="${ctx}/components/jquery-ui/jquery-1.2.6.js"></script>
    <script type="text/javascript" src="${ctx}/js/tabledo.js"></script>
    <script type="text/javascript" src="${ctx}/js/datepicker/WdatePicker.js"></script>

<script type="text/javascript">
    $().ready(function(){
        ${mRecordData}
    });


    /* 实现表格序号列自动调整 created by tony 20081219 */
    function sortnoTR(){
        sortno('mRecordTable', 2, 1);
    }


    function setTRUpdateFlag(obj){
       //alert(obj.type);
       //alert(obj.defaultValue);
    //var mr_changed = obj.getElementById("mr_changed");

    var currTr = obj.parentElement.parentElement;
    if(currTr.innerHTML.toLowerCase().indexOf("<span")==0){
        currTr = obj.parentElement.parentElement.parentElement;
    }
    //alert(currTr.innerHTML);
    if(obj.value!=obj.defaultValue){    //当填写的框内容发生变化时,设置本行记录发生变化标识
        currTr.cells[1].all.mr_changed.value = "1";
        //document.getElementById("mr_changed").value="1";
    }
    //alert(mr_changed.value);
}

    function addTRRecord(objId, id, productNo, cnumber, grossWeight, netWeight, sizeLength, sizeWidth, sizeHeight, exPrice, tax) {

        var _tmpSelect = "";
        var tableObj = document.getElementById(objId);          //得到表格对象
        var rowLength = tableObj.rows.length;                   //行数

        oTR = tableObj.insertRow();                             //在行尾插入行

        oTD = oTR.insertCell(0);                                //插入一个单元格
        oTD.style.whiteSpace="nowrap";                          //规定段落不换行
        oTD.ondragover = function(){this.className="drag_over" };   //动态加事件, 改变样式类
        oTD.ondragleave = function(){this.className="drag_leave" };
        oTD.onmousedown = function(){ clearTRstyle("result"); this.parentNode.style.background = '#0099cc';};   
        //this.style.background="#0099cc url(../images/arroww.gif) 4px 9px no-repeat";
        oTD.innerHTML = "&nbsp;&nbsp;"; 
        oTD = oTR.insertCell(1);
        oTD.innerHTML = "<input class=\"input\" type=\"checkbox\" name=\"del\" value=\""+id+"\"><input type=\"text\" name=\"mr_id\" value=\""+id+"\"><input class=\"input\" type=\"text\" id=\"mr_changed\" value=\"\" name=\"mr_changed\">";
        oTD = oTR.insertCell(2);
        oTD.innerHTML = "<input class=\"input\" type=\"text\" name=\"mr_orderNo\" readonly size=\"3\" value=\"\">";
        oTD = oTR.insertCell(3);
        oTD.innerHTML = "<b><font face='微软雅黑'><font color='blue'>"+productNo;+"</font></font></b> "
        oTD = oTR.insertCell(4);
        oTD.innerHTML = "<input type=\"text\" name=\"mr_cnumber\" maxLength=\"10\" value=\""+cnumber+"\" onblur=\"setTRUpdateFlag(this);\" size=\"15\">";
        oTD = oTR.insertCell(5);
        oTD.innerHTML = "<input type=\"text\" name=\"mr_grossWeight\" maxLength=\"10\" value=\""+grossWeight+"\" onblur=\"setTRUpdateFlag(this);\" size=\"15\">";
        oTD = oTR.insertCell(6);
        oTD.innerHTML = "<input type=\"text\" name=\"mr_netWeight\" maxLength=\"10\" value=\""+netWeight+"\" onblur=\"setTRUpdateFlag(this);\" size=\"15\">";
        oTD = oTR.insertCell(7);
        oTD.innerHTML = "<input type=\"text\" name=\"mr_sizeLength\" maxLength=\"10\" value=\""+sizeLength+"\" onblur=\"setTRUpdateFlag(this);\" size=\"15\">";
        oTD = oTR.insertCell(8);
        oTD.innerHTML = "<input type=\"text\" name=\"mr_sizeWidth\" maxLength=\"10\" value=\""+sizeWidth+"\" onblur=\"setTRUpdateFlag(this);\" size=\"15\">";
        oTD = oTR.insertCell(9);
        oTD.innerHTML = "<input type=\"text\" name=\"mr_sizeHeight\" maxLength=\"10\" value=\""+sizeHeight+"\" onblur=\"setTRUpdateFlag(this);\" size=\"15\">";
        oTD = oTR.insertCell(10);
        oTD.innerHTML = "<input type=\"text\" name=\"mr_exPrice\" maxLength=\"10\" value=\""+exPrice+"\" onblur=\"setTRUpdateFlag(this);\" size=\"15\">";

        oTD = oTR.insertCell(11);
        oTD.innerHTML = "<input type=\"text\" name=\"mr_tax\" maxLength=\"10\" value=\""+tax+"\" onblur=\"setTRUpdateFlag(this);\" size=\"15\">";



        dragtableinit();    //拖动表格行
        sortnoTR();         //排序号
        //setTRUpdateFlag(); //设置本行记录发生变化标识     
    }    

</script> 

</head>
<body>
<form method="post">
    <input type="hidden" name="id" value="${obj.id}"/>

<div id="menubar">
<div id="middleMenubar">
<div id="innerMenubar">
    <div id="navMenubar">
<ul>
<li id="save"><a href="#" onclick="formSubmit('update.action','_self');">确定</a></li>
<li id="back"><a href="list.action">返回</a></li>
</ul>
    </div>
</div>
</div>
</div>

<div class="textbox" id="centerTextbox">

    <div class="textbox-header">
    <div class="textbox-inner-header">
    <div class="textbox-title">
        修改出口报运
    </div> 
    </div>
    </div>
<div>

    <div>
        <table class="commonTable" cellspacing="1">
            <tr>
                <td class="columnTitle_mustbe">客户号:</td>
                <td class="tableContent"><input type="text" name="customerContract" value="${obj.customerContract}"/></td>
                <td class="columnTitle_mustbe">制单日期:</td>
                <td class="tableContent">
                    <input type="text" name="inputDate" style="width:90px;" value="<fmt:formatDate value="${obj.inputDate}" pattern="yyyy-MM-dd"/>"
                        onclick="WdatePicker({el:this,isShowOthers:true,dateFmt:'yyyy-MM-dd'});" readonly/>
                </td>
            </tr>
            <tr>
                <td class="columnTitle_mustbe">收货人及地址:</td>
                <td class="tableContent"><input type="text" name="consignee" value="${obj.consignee}"/></td>
                <td class="columnTitle_mustbe">L/C No.:</td>
                <td class="tableContentAuto">
                    <input type="radio" name="lcno" value="T/T" class="input" <c:if test="${obj.lcno=='T/T'}">checked</c:if>>T/T
                    <input type="radio" name="lcno" value="L/C" class="input" <c:if test="${obj.lcno=='L/C'}">checked</c:if>>L/C
                </td>          
            </tr>
            <tr>
                <td class="columnTitle_mustbe">装运港:</td>
                <td class="tableContent"><input type="text" name="shipmentPort" value="${obj.shipmentPort}"/></td>
                <td class="columnTitle_mustbe">运输方式:</td>
                    <td class="tableContentAuto">
                    <input type="radio" name="transportMode" value="SEA" class="input" <c:if test="${obj.transportMode=='SEA'}">checked</c:if>>海运(SEA)
                    <input type="radio" name="transportMode" value="AIR" class="input" <c:if test="${obj.transportMode=='AIR'}">checked</c:if>>空运(AIR)
                </td>   
            <tr>
                <td class="columnTitle_mustbe">价格条件:</td>
                <td class="tableContent"><input type="text" name="priceCondition" value="${obj.priceCondition}"/></td>
            </tr>
            <tr>
                <td class="columnTitle_mustbe">唛头:</td>
                <td class="tableContent"><textarea name="marks" style="height:130px;">${obj.marks}</textarea></td>
                <td class="columnTitle_mustbe">说明:</td>
                <td class="tableContent"><textarea name="remark" style="height:130px;">${obj.remark}</textarea></td>
            </tr>
        </table>
    </div>
</div>
<div class="textbox" id="centerTextbox">  

    <div class="textbox-header">  
    <div class="textbox-inner-header">  
    <div class="textbox-title">  
        报运下货物的列表信息  
    </div>   
    </div>  
    </div>  
<div>    


                        <div class="listTablew">
                            <table class="commonTable_main" cellSpacing="1" id="mRecordTable">
                                <tr class="rowTitle" align="middle">
                                    <td width="25" title="可以拖动下面行首,实现记录的位置移动.">
                                        <img src="../../images/drag.gif">
                                    </td>
                                    <td width="20">
                                        <input class="input" type="checkbox" name="ck_del" onclick="checkGroupBox(this);" />
                                    </td>
                                    <td width="33">序号</td>
                                    <td>货号</td>
                                    <td>数量</td>
                                    <td>毛重</td>
                                    <td>净重</td>
                                    <td>长</td>
                                    <td>宽</td>
                                    <td>高</td>
                                    <td>出口单价</td>
                                    <td>含税</td>
                                </tr>
                            </table>
                        </div>

<div style="padding:10px;">
    <input type="button" name="btnAdd" value="新增" onclick="addTRRecord('mRecordTable', '', '', '', '', '', '', '', '', '', '');"/>  
</div>

                        </div>
                        <div class="textbox-bottom">
                            <div class="textbox-inner-bottom">
                                <div class="textbox-go-top">
                                </div>
                            </div>
                        </div>
                    </div>


</form>
</body>
</html>

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 请教:如何用postman调用本地虚拟机区块链接上的合约?
    • ¥15 为什么使用javacv转封装rtsp为rtmp时出现如下问题:[h264 @ 000000004faf7500]no frame?
    • ¥15 乘性高斯噪声在深度学习网络中的应用
    • ¥15 运筹学排序问题中的在线排序
    • ¥15 关于docker部署flink集成hadoop的yarn,请教个问题 flink启动yarn-session.sh连不上hadoop,这个整了好几天一直不行,求帮忙看一下怎么解决
    • ¥15 深度学习根据CNN网络模型,搭建BP模型并训练MNIST数据集
    • ¥15 C++ 头文件/宏冲突问题解决
    • ¥15 用comsol模拟大气湍流通过底部加热(温度不同)的腔体
    • ¥50 安卓adb backup备份子用户应用数据失败
    • ¥20 有人能用聚类分析帮我分析一下文本内容嘛