Нужна помощь в получении названия включенной страницы JSP в JavaScript
У меня есть этот код для страницы.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 мне нужно каким-то образом получить идентификатор этой формы. editSectionForm. Я не могу это жестко закодировать, потому что код /inc/sectionEditor.jspf выполняется на нескольких страницах.
В общем, мне нужен код javascript в /inc/sectionEditor.jspf, чтобы иметь возможность получить идентификатор формы, в которой он находится в данный момент.
то есть:
Если я нахожусь на странице editSectionForm, она скажет мне, что я на этой странице, если я на странице формы addSection, она скажет мне, что я на этой странице.
3 ответа
Я не уверен, что полностью понимаю вопрос. Вы пытаетесь получить текущую страницу, на которой находитесь, как в URL?
http://css-tricks.com/snippets/javascript/get-url-and-url-parts-in-javascript/
Или у вас есть несколько форм на одной странице?
Я вижу, вы уже используете document.forms[0]
на вашей странице JSP, поэтому, предполагая, что есть только одна форма, вы можете также использовать ту же конструкцию в разделе сценария ваших "подстраниц", т. е. используя document.forms[0].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>
Я действительно нашел другой способ для моей ситуации. Для любого, кто когда-либо использовал Сакаи, они знают, что это за зверь.