如何将对象列表传递给childwindow

时间:2012-02-29 17:30:52

标签: javascript html jsp struts2

我正在开发一个Struts 2应用程序。我有一个JSP页面,其中我在一个表中迭代对象列表,其中包含来自对象的最少信息,在每行中我有一个复选框,通过选中复选框并单击在打印按钮上,我需要打印所选行的所有信息。  所以我调用了一个关于打印按钮的java脚本函数,并收集了与行关联的所有唯一ID并将其设置为隐藏字段,然后我打开了一个弹出子窗口,如:window.open(“/。/。 ./printInfo.jsp”, “浏览”,...)。

在子窗口中,我使用opener.document.getElementById(...)获取隐藏字段值 但我没有得到我需要在子窗口中迭代的对象列表及其所有信息(仅限选定的行)。有没有办法在弹出窗口中获取所有对象列表而不调用window.open()方法中的操作。

还是有其他方法可以快速完成任务。

任何帮助/代码/建议/评论都会表示赞赏。

感谢。

1 个答案:

答案 0 :(得分:0)

javascript代码:不回答代码段 -

function printAll(){
    var checkBoxLength = document.getElementsByName('ids');
    var checkedIds = "";
    for(var i = 0;i<checkBoxLength.length;i++){
        if(checkBoxLength[i].checked){
            checkedIds += i+",";
        }
    }
        //all the selected checkboxe ids
    checkedIds = checkedIds.substring(0,checkedIds.length-1); 
    if(checkedIds.length <=0){
        alert("Please select atleast one row to print.");
        return false;
    }   
        //value set to hidden field so that it can access to popup window
    document.getElementById("checkedIdField").value = checkedIds; 
        //trying to assign a list to hidden field but getting error
    document.getElementById("medicationList").value = <s:property value="medicalRecordClient.patientMedicationEntries"/>;
    childWindow = window.open("/cascade/pages/jsp/medicalrecord/print_medication_detail.jsp","Browse","left=200,top=200,width=700,height=530,toolbar=0,resizable=0");

}