我正在编写几个JSP页面,我需要将一个函数附加到现有表单中的按钮。在这种形式中,提交按钮执行导航到另一个jsp视图(我在Google AppEngine上使用带有Slim3框架的MVC模式),我需要另一个按钮(在提交按钮旁边)来执行导航到另一个不同的JSP视图。因此,为了实现这一点,我在现有表单中创建另一个“按钮”类型的按钮,创建一个.js文件,我在其中放置我的JavaScript代码以执行“替代”导航并在JSP视图中包含.js。但是,它不起作用._。这是代码:
包含表单的JSP页面:
...
<body>
<%@ include file="script.js" %>
<%@ include file="../header.jsp" %>
<%@ include file="sidebar.jsp" %>
<div id="content">
<div id="main">
<p>Hello main admin testimonials edit Index !!!</p>
<h2><b>Modifica Testimonial</b></h2>
<form action="update" method="post">
<h3>Nome: </h3>
<textarea name="name">${f:h(testimonial.name)}</textarea><br />
<h3>Cognome: </h3>
<textarea name="surname">${f:h(testimonial.surname)}</textarea><br />
<h3>Dettagli: </h3>
<textarea name="details">${f:h(testimonial.details)}</textarea><br />
<h3>Progetto:</h3>
<select name="projectKey" selected="${f:h(testimonial.projectRef.key)}">
<c:forEach items="${projectsList}" var="project">
<option value="${f:h(project.key)}">${f:h(project.name)}</option>
</c:forEach>
</select>
<br />
<input type="submit" value="Aggiorna"/>
<input type="button" value="Elimina" onclick="delete()"/>
<input type="hidden" ${f:hidden("key")}/>
</form>
</div>
</div>
</body>
</html>
的script.js:
<script type="text/javascript">
function delete()
{
if (confirm('Ask navigation confirm'))
{
window.navigate("bla bla new view url");
}
else
{
return;
}
}
</script>
编辑:我更改了函数名称,替换为原始代码中的真实姓名。
答案 0 :(得分:1)
好的,&lt;%@ include file =“script.js”%&gt;效果很好,将代码放在脚本中的script.js中。现在,它正常工作!我更改了函数名,从“delete()”传递到“fdelete()”,似乎“删除”名称可以创建问题,我在想,因为我试图直接在页面中编写JavaScript(非常简单警告)并从按钮调用它,使用“delete()”函数名称脚本没有运行!我无法理解为什么,但它确实存在。
编辑:经过多年的网络开发,我再次提出了这个问题。 当然一个名为“delete”的函数无法正常工作,因为“删除”它是一个JavaScript保留字!JavaScript上帝,请原谅我的罪过,我年轻,缺乏经验:(