【问题标题】:populate the value selected from the popup jsp to current jsp将从弹出 jsp 中选择的值填充到当前 jsp
【发布时间】:2011-05-12 05:30:17
【问题描述】:

我正在使用以下代码来生成弹出窗口

当前页面

        <script LANGUAGE="JavaScript">
        function popUp(URL) {
            day = new Date();
            id = day.getTime();
            eval("page" + id + " = window.open(URL, '" + id + "', 'toolbar=0,scrollbars=0,location=1,statusbar=0,menubar=0,resizable=1,width=250,height=800 left = 630,top = 502');");
        }
    </script>
<h:outputText value="Student Number : "></h:outputText>
<h:inputText id="stuNo" value="#{stuBean.stuNumber}" onfocus="javascript:popUp('OpenStudentList.jsp')" > </h:inputText>

Popup.jsp

<script LANGUAGE="JavaScript">
        function setValue(stuNo){
            window.opener.document.getElementById(stuNo).value;
            window.close();
        }
    </script>
<h:dataTable id="dt" value="#{Student.openStuList}" var="openStuList"  >
            <h:column>
                <f:facet name="header">
                    <h:outputText style=""value="Student Number" />
                </f:facet>
                <h:form>
                    <h:commandLink style="" value="#{openStuList.stuNumber}" onclick="javascript:setValue(#{openStuList.stuNumber})" ></h:commandLink></h:form>
            </h:column>
        </h:dataTable>

我的弹出 jsp 有一个数据表,其中包含一个字段学生编号,每个字段都是一个链接。当我单击链接时..我希望将值填充到当前 jsp 的文本框中。我尝试使用不起作用的 setValue() javascript 函数 需要这方面的建议

【问题讨论】:

    标签: java javascript jsp jsf-2


    【解决方案1】:

    只是一个想法。在当前页面的input 上添加一个 ID,例如 id="student_number,然后在弹出窗口中的链接上让它引用打开器窗口以更新文本框,例如:

    yourWindowObject.opener.document.getElementById('student_number').value = 'some value';

    为此,您可能需要找到一种方法来引用创建的弹出对象并获取它的开启者。似乎您正在使用具有当前时间的 eval 创建保存弹出窗口的变量,这可能很难轻松引用。

    【讨论】:

    • 要引用window.opener,您需要使用用于window.open 的变量,例如var win = window.open(...) 创建的窗口将被win 变量引用。如果您使用它,您可以使用 win.opener 引用打开器窗口,然后使用上面的示例访问您要更改的 input 框。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-10-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-18
    • 1970-01-01
    • 2011-08-27
    相关资源
    最近更新 更多