关于jquery dialog +ifram,并要局部刷新的总结

戚京
2023-12-01

首先有两个不同的jsp页面:seachCustomer和returnCustomer,在seachCustomer有个iframe

<div id="dialogR-form" title="加盟商回访管理" style="z-index: 999999;">

            <table id="RiframeTable" width="100%" border="0" cellpadding="0"
                cellspacing="0">
                <tr>
                    <td nowrap class="title">
                        回访信息
                    </td>
                </tr>
            </table>
            <iframe id="RcustomerFrame" width="917" frameborder="0"
                scrolling="no" height="476px" name="RcustomerFrame"
                class="ui-widget-content ui-corner-all"></iframe>

        </div>

 

此iframe包含returnCustomer.jsp,主要的问题是如何去调用iframe的内容:

//初始化表单的对话框
    $("#dialogR-form")
            .dialog(
                    {
                        autoOpen : false,
                        height : 520,
                        width : 960,
                        modal : true,
                        buttons : {
                            '提交' : function() {
                               
                                var customerID = $("#RcustomerFrame")
                                        .contents().find("#customerID").val();
                                var companyName = $("#RcustomerFrame")
                                        .contents().find("#companyNam").val();
                                var returnVisitTime = $("#RcustomerFrame")
                                        .contents().find("#returnVisitTime")
                                        .val();
                                var nextVisitTime = $("#RcustomerFrame")
                                        .contents().find("#nextVisitTime")
                                        .val();
                                var returnVisitWay = $("#RcustomerFrame")
                                        .contents().find("#returnVisitWayID")
                                        .val();
                                var intendedPurpose = $("#RcustomerFrame")
                                        .contents().find("#intendedPurpose")
                                        .val();
                                var visitResult = $("#RcustomerFrame")
                                        .contents().find("#visitResult").val();
                                var level = $("#RcustomerFrame")
                                .contents().find("#levelID").val();
                                $.ajax( {
                                    'url' : 'returnCustomerSave.action',
                                    'data' : {
                                        'customerID' : customerID,
                                        'customer.companyName' : companyName,
                                        'returnVisitTime' : returnVisitTime,
                                        'nextVisitTime' : nextVisitTime,
                                        'returnVisitWay.ID' : returnVisitWay,
                                        'intendedPurpose' : intendedPurpose,
                                        'visitResult' : visitResult,
                                        'customer.level.ID' : level,
                                    },
                                    'type' : 'POST',
                                    'success' : function(dateFlag) {
                                                                           
                                    window.frames["RcustomerFrame"].reload();
                                       

                                    }

                                });

                            },
                            '取消' : function() {
                                $(this).dialog('close');
                            }
                        },
                        beforeclose : function() {
                            /**变更浮层关闭,底层地域选择框显示*/
                            document.getElementById("showarea").style.display = "block";
                        }
                    });

 

如果要刷新jqgrid 的内容:使用  window.frames["RcustomerFrame"].reload();(注意使用此方法时要设iframe的name值name="RcustomerFrame")

returnCustomer.jsp的reload()方法为:function reload(){

    jQuery("#list").jqGrid().trigger("reloadGrid");
}

 类似资料: