回调函数(CallBack)

需求:选择合同后,带回合同的信息(合同名称,供应商名称,联系人)


第一个图为:AddDdSp.html(新增定点商品)

这里写图片描述


第二个图为:SelectDdht.html(选择定点合同)

这里写图片描述


点击“选择”时触发js

    function xzHtOrGys(obj){
        var cgfl = document.getElementById("splb").value;
        if(cgfl==null||cgfl==''){
         alert("请选择采购物品!");
         return false;
        }
        obj.target=doShowDialogX(6,800,500);
        var fbxqid=document.getElementById("splb").value;
        document.getElementById("ddhtHref").href = contentPath+"/eps/wt/wtgl/wtdlxdj/SelectDdht.html?callback=top.PopDialog2.setDdht";
        return true;
    }

其中,top.PopDialog2为新增顶点商品的页面(AddDdSp.html),setDdht为AddDdSp.html的js方法,这个方法此页面不调用,在SelectDdht.html页面回调此方法。

    function setDdht(htid,htmc,yf,lxr,gysbh){
        document.getElementById("htid").value = htid;
        document.getElementById("htmc").value = htmc;
        document.getElementById("yf").value = yf;
        if(lxr!="null"){
            document.getElementById("lxr").value = lxr;
        }
        document.getElementById("gysbh").value = gysbh;
    }

下面来看SelectDdht.html
function getSelectValue(){
            var temp="";
        var elements = document.getElementsByName("r_gsmc");
            for (var i = 0; i < elements.length; i = i + 1){
                if (elements[i].checked==true) {
                    temp=elements[i].value;
                    selectTitle = elements[i].title;
                    selectId = elements[i].value;
                    return temp;
                }               
            }
            return temp;
        }
    function callBackMethod() {  
       try {        
        var value = getSelectValue();
        var arr = selectId.split("|");
        var htid = arr[0];
        var htmc = arr[1];
        var yf = arr[2];
        var lxr = arr[3];
        var gysbh = arr[4];
        if("" == value || "undefine"==value)
        {
            alert("请先选择供应商信息");
            return false;
        }       
        <span jwcid="@Insert" value="ognl:callBack"></span>(htid,htmc,yf,lxr,gysbh);
        <!-- 回调方法,对应上面的top.PopDialog2.setDdht -->
        doHideDialogX(window.frameElement.index);
      } catch(e) {
        alert("回调方法'<span jwcid="@Insert" value="ognl:callBack"></span>'执行发生异常:"+e);
        throw e;
      }
   }
        <!-- 定点合同列表内容 -->
        <tr align="center" jwcid="@xylib:Foreach" source="ognl:listJC_DDHT" value="ognl:cur_JC_DDHT" element="literal:tr" index="ognl:index" title="ognl:cur_JC_DDHT.htmc">
            <td>
                <input type="radio" name="r_gsmc" jwcid="id@xylib:Radio" value="ognl:cur_JC_DDHT.id+'|'+cur_JC_DDHT.htmc+'|'+cur_JC_DDHT.yf+'|'+cur_JC_DDHT.lxr+'|'+cur_JC_DDHT.gysbh" title="ognl:cur_JC_DDHT.htmc"/>
            </td>
            <td>
                <span jwcid="@Insert" value="ognl:getRowIndex(index)" />
            </td>
            <td>
                <span jwcid="@Insert" value="ognl:cur_JC_DDHT.htbh" />
            </td>
            <td>
                <span jwcid="@Insert" value="ognl:cur_JC_DDHT.htmc" />
            </td>
            <td>
                <span jwcid="@Insert" value="ognl:cur_JC_DDHT.yf" />
            </td>
        </tr>
点击SelectDdht.html中的“确定”时,执行callBackMethod()方法

再来看,SelectDdht.html对应的Page:SelectDdhtPage.java
    private String callBack;
    protected void initialize() {
        super.initialize();
        //.....
        callBack = null;
    }
    public String getCallBack() {
        if(this.isRendering()&&callBack==null){
            callBack = this.getRequestCycle().getParameter("callback");
            //获取 ?callback=top.PopDialog2.setDdht  callback参数
        }
        return callBack;
    }

    public void setCallBack(String callBack) {
        this.callBack = callBack;
    }

《over》
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值