我有一个.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>
我有一些javascript代码运行在/inc/sectionEditor.jspf文件中。在sectionEdtior文件中的一些代码中,我需要以某种方式获取此表单的id。editSectionForm。我无法对其进行硬编码,因为/inc/sectionEditor.jspf代码在多个页面中运行。
因此,我需要/inc/sectionEditor.jspf中的javascript代码来获取当前表单的id
即:
如果我在editSectionForm页面,它会告诉我我在那个页面上,如果我在addSection Form页面上,它会通知我我在这个页面上。
我不确定我是否完全理解这个问题。你是否试图获取你所在的当前页面,如url中的页面?
http://css-tricks.com/snippets/javascript/get-url-and-url-parts-in-javascript/
或者你在同一页上有多个表格?
我实际上为我的处境找到了另一种方法。对于任何使用过Sakai的人来说,他们都知道它是野兽。
我看到您已经在jsp页面中使用了document.forms[0]
,因此,假设只有一个表单,您也可以在"子页面"的脚本部分中使用相同的构造,即使用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>