【问题标题】:onClick doesn't work when form action is going to jsp page with Apache Shiro当表单操作使用 Apache Shiro 进入 jsp 页面时,onClick 不起作用
【发布时间】:2015-02-15 11:09:33
【问题描述】:

我最初登录良好,但需要在提交表单之前提交 onClick 方法(因为它有助于发送一些数据)。

我现在正在尝试使用

将其中一些信息发送到我的 Java Bean
    <jsp:useBean id="url" class="plan.URL" scope="session"/> 
    <jsp:setProperty name="url" property="*"/>

我遇到的问题是我的登录没有正确提交,这似乎意味着当我设置时

action=""

action="viewer.jsp" it isn't calling my onClick method anymore, or at least that's what it seems to be.

登录

 <form name="loginform" action="viewer.jsp" method="POST" accept-charset="UTF-8" role="form">
                        <fieldset>

                            <div class="form-group">
                                <input class="form-control" id="user" placeholder="User Name" name="user" type="text">
                            </div>
                            <div>
                                <input class="form-control" placeholder="Password" name="password" type="password" value="">
                            </div>

                            <input class="btn btn-lg btn-primary btn-block" type="submit" value="Login" onClick = "login()" >
                        </fieldset>
                    </form>

有什么建议吗?

谢谢!

编辑:我意识到出于某种原因,一旦我采取了行动,我就根本没有登录。我正在使用 Apache Shiro,所以我想知道身份验证发生了什么。

【问题讨论】:

    标签: java javascript jquery jsp shiro


    【解决方案1】:

    onclick 与提交冲突:提交导致页面重新加载。 onclick 可能会被调用,但浏览器会同时加载操作页面。

    将输入的onclick 更改为表单的onsubmit,然后执行您的 login() 操作,如果您希望最终提交表单,则从它执行return true,或者如果您不验证数据并且您不验证数据,则使用false想取消提交。

    onsubmit&lt;form&gt; 元素的一个属性,所以你可以这样做:

    ...根据您的 login() 函数结果提交表单(true->提交,false->不提交):

    <form onsubmit="return login()" .........>
    

    ... 执行 login() 函数并始终提交,您也可以这样做:

    <form onsubmit="login();return true;" .........>
    

    只是

    <input type="submit" ...> 
    

    没有任何事件。

    【讨论】:

    猜你喜欢
    • 2015-02-06
    • 1970-01-01
    • 1970-01-01
    • 2021-01-30
    • 2014-08-28
    • 1970-01-01
    • 1970-01-01
    • 2014-07-08
    • 1970-01-01
    相关资源
    最近更新 更多