被调用一次
-------------------------------------------------------------------------------------------------------
function calcJieSuan(changed, jieSuan,jieSuanOrg, flag) {
            var changedId = changed.id;
            var jieSuanId = jieSuan.id;
            if (flag == "add") {
                document.getElementById(jieSuanId).value = Number(jieSuanOrg) - Number(document.getElementById(changedId).value);
            }
            else if (flag == "del") {
                document.getElementById(jieSuanId).value = Number(jieSuanOrg) + Number(document.getElementById(changedId).value);                //计算退料总数量
                if (!tuiLiaoTotal.hasOwnProperty(changedId)) {
                    tuiLiaoTotal['total'] = Number(tuiLiaoTotal['total']) + Number(document.getElementById(changedId).value);
                }
                else {
                    tuiLiaoTotal['total'] = (Number(tuiLiaoTotal['total']) - Number(tuiLiaoTotal[changedId])) + Number(document.getElementById(changedId).value);
                }
                tuiLiaoTotal[changedId] = Number(document.getElementById(changedId).value);                //根据退料总数量,来决定是否显示‘入库’录入控件
                document.getElementById('<%=hiddenTotal.ClientID %>').value = Number(tuiLiaoTotal['total']);
                IsDisplayRuKuContent();
            }
        }被调用两次
-------------------------------------------------------------------------------------------------------
function calcJieSuan(changed, jieSuan, flag) {
            var changedId = changed.id;
            var jieSuanId = jieSuan.id;
            var jieSuanOrg = document.getElementById(jieSuanId).value;
            if (flag == "add") {
                document.getElementById(jieSuanId).value = Number(jieSuanOrg) - Number(document.getElementById(changedId).value);
            }
            else if (flag == "del") {
                document.getElementById(jieSuanId).value = Number(jieSuanOrg) + Number(document.getElementById(changedId).value);                //计算退料总数量
                if (!tuiLiaoTotal.hasOwnProperty(changedId)) {
                    tuiLiaoTotal['total'] = Number(tuiLiaoTotal['total']) + Number(document.getElementById(changedId).value);
                }
                else {
                    tuiLiaoTotal['total'] = (Number(tuiLiaoTotal['total']) - Number(tuiLiaoTotal[changedId])) + Number(document.getElementById(changedId).value);
                }
                tuiLiaoTotal[changedId] = Number(document.getElementById(changedId).value);                //根据退料总数量,来决定是否显示‘入库’录入控件
                document.getElementById('<%=hiddenTotal.ClientID %>').value = Number(tuiLiaoTotal['total']);
                IsDisplayRuKuContent();
            }
        }js事件调用在后台注册 txtTuiLiao.Attributes.Add("onpropertychange", string.Format("calcJieSuan({0},{1},{2},'del')", txtTuiLiao.ClientID, txtJieSuan.ClientID, txtJieSuan.Text));急求高手解答!!!!

解决方案 »

  1.   

    光看这些没用,
    自己alert试试,看你下面的连接什么的,怎么调用了,wan
      

  2.   

    alert了。下面那个方法确实被调了两次。调用就是没文本框onpropertychange事件就会去触发。谢谢回答
      

  3.   

    onpropertychange:当在对象上进行属性改变时候触发
    onchange:当对象内容或者选择内容改变时候触发 当一个HTML元素的属性改变的时候,都能通过onpropertychange来捕获。例如一个
    <input name="text1" id="text1" />对象的value属性被页面的脚本修改的时候,
    onchange无法捕获到,而onpropertychange却能够捕获。感觉你应该要用onchangewan
      

  4.   

    用回onchange没有问题 回头再看为什么不行吧。多谢这位大师了
      

  5.   

    那个是随时追踪它属性变化的,
    你这调用两次应该是你输入了两次,就是输入了两个字符,
    如果你输入三次,三个字符,肯定也就是它执行了三次,当然,你输入一个字符,肯定也就是一次咯,呵呵,
    wan