0

我有一个 .jsp 页面的代码:

<f:view>
<div class="portletBody">
<h:form id="editSectionForm"  onsubmit="return numCheck(document.forms[0].elements['editSectionForm:sectionTable:0:maxEnrollmentInput'].id)">




    <sakai:flowState bean="#{editSectionBean}"/>

    <t:aliasBean alias="#{viewName}" value="editSection">
        <%@ include file="/inc/navMenu.jspf"%>
    </t:aliasBean>

    <h3><h:outputText value="#{msgs.edit_section_page_header}"/></h3>

    <%@ include file="/inc/globalMessages.jspf"%>

    <t:aliasBean alias="#{bean}" value="#{editSectionBean}">
        <%@ include file="/inc/sectionEditor.jspf"%>
    </t:aliasBean>

    <t:div styleClass="act">
        <h:commandButton
            action="#{editSectionBean.update}"
            value="#{msgs.update}"
            styleClass="active"
            onclick="reEnableLimits();" />

        <h:commandButton action="overview" value="#{msgs.cancel}" immediate="true" />
    </t:div>
</h:form>
</div>
</f:view>

我有一些在 /inc/sectionEditor.jspf 文件中运行的 javascript 代码。在 sectionEdtior 文件中的某些代码中,我需要以某种方式获取此表单的 id。编辑SectionForm。我无法对其进行硬编码,因为 /inc/sectionEditor.jspf 代码在不止一页中运行。

非常多,我需要 /inc/sectionEditor.jspf 中的 javascript 代码才能获取它当前所在表单的 id。

IE:

如果我在 editSectionForm 页面中,它会告诉我我在那个页面中,如果我在 addSection Form 页面中,它会告诉我我在那个页面上。

4

3 回答 3

0

我看到你已经document.forms[0]在你的jsp页面中使用了,所以,假设只有一个表单,你也可以在你的“子页面”的脚本部分使用相同的结构,即使用document.forms[0].id会给你表单的ID。

<!DOCTYPE html>
<html>
    <body>
        <form id="editSectionForm">
            <div id="sectionEditor">
                <script type="text/javascript">
                    var formId = document.forms[0].id;
                    console.log(formId);
                </script>
            </div>
        </form>
    </body>
</html>
于 2012-07-31T18:28:11.507 回答
0

我实际上为我的情况想出了另一种方法。对于曾经使用过 Sakai 的任何人来说,他们都知道它是什么野兽。

于 2012-07-31T18:07:17.737 回答
0

我不确定我是否完全理解这个问题。您是否正在尝试获取您所在的当前页面,如 url 中的?

http://css-tricks.com/snippets/javascript/get-url-and-url-parts-in-javascript/

或者您在同一页面上有多个表单?

于 2012-07-31T18:02:18.130 回答