JavaScript - JSP - 如何将函数附加到现有表单中的按钮的正确性

JavaScript - JSP - How correctly attach a function to a button in an existing form?

本文关键字:表单 按钮 正确性 JSP 函数 JavaScript      更新时间:2023-09-26

我正在编写几个JSP页面,我需要将一个函数附加到现有表单中的按钮。在这种形式中,提交按钮执行到另一个jsp视图的导航(我在Google AppEngine上使用带有Slim3框架的MVC模式),我需要另一个按钮(在提交按钮旁边)来执行导航到另一个不同的JSP视图。因此,为了实现这一点,我在现有表单中创建了另一个"按钮"类型的按钮,创建了一个.js文件,我将我的 JavaScript 代码放在其中执行"替代"导航,并将.js包含在 JSP 视图中。但是,它不起作用._。代码如下:

包含以下形式的 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>

脚本.js:

<script type="text/javascript"> 
        function delete()
        {
            if (confirm('Ask navigation confirm'))
            {
                window.navigate("bla bla new view url");
            }
            else
            {
                return;
            }
        }
</script>

编辑:我更改了函数的名称,替换为原始代码中的真实名称。

好的,<%@ include file="script.js" %> 效果很好,将代码放在脚本中.js在页面中。现在,它工作正常!我更改了函数名称,从"delete()"传递到"fdelete()",似乎"删除"名称会产生问题,我认为因为我尝试直接在页面中编写 JavaScript(一个非常简单的警报)并从按钮调用它,使用"delete()"函数名称脚本没有运行!我不明白为什么,但它就在那里。

编辑:经过多年的Web开发,我再次进入了这个问题。当然,名为"delete"的函数不能工作,因为"delete"它是一个JavaScript保留字!

上帝啊,请原谅我的罪,我当时还年轻,没有经验:(