【问题标题】:Invoke form action method and then disable the button in JSP [duplicate]调用表单操作方法,然后禁用 JSP 中的按钮 [重复]
【发布时间】:2017-07-12 06:30:27
【问题描述】:

我有一个 JSP 页面,我在其中创建了一个表单和一个按钮。一旦用户单击提交按钮,表单操作将调用 servlet doPost 方法并执行业务逻辑。现在我需要禁用提交按钮以防止用户单击该按钮两次,直到我的业务执行完成。 我的JSP页面如下图

<body>

        <form method="post" action="SubmitJob" id="myForm">
        <table>


                        <td><p>Please use the below button to run the job immediately</p> <br>
                            <div id="runNow">
                            <input type="submit" name="runNow" value="runNow" id="submitBtn">

                            <% out.println(request.getAttribute("status")); %>
                            </div>
                        </td>
                        </tr>
        </table>
    </form>

    </body>

为了禁用提交按钮,我使用了 jquery 并尝试如下

<script>
$(document).ready(function(){
    $('#submitBtn').click(function(){
        // $('form#myForm').submit();
        alert('after form submit');
                                        $('#submitBtn').prop("disabled",true); 
                                         alert('after button disabled');
    });
});
</script>

我面临的问题是,如果按钮被禁用,表单操作将不会被调用。有人可以建议我吗,1)如何先调用表单操作然后禁用按钮。 2)如何在我的 servlet 中的业务逻辑完成后再次启用提交按钮。3)如何从我的 java 方法调用 servlet doPost 方法

【问题讨论】:

  • 如果你想使用jquery你不需要按钮是提交按钮,一个普通的就可以了。
  • 您好,我正在使用html表单发布方法来提交表单。要禁用该按钮,我正在使用 Jquery

标签: javascript java jquery jsp servlets


【解决方案1】:

在您的 onclick 功能中,您错过了关键步骤:

$("#myForm").submit();

前提是你的表单标签的action属性要定义url。 示例如下:

<form action="your url...." method="post" id="myForm">
</form>

另外,你的代码

$('#submitBtn').prop("disabled",true);  

已经确保该按钮不能被点击两次。

【讨论】:

    【解决方案2】:

    1) 您可以在另一个函数中调用您的表单,例如 $("#myForm").submit();

    2) 将此代码放入服务器调用的成功函数中:

    $('#submitBtn').prop("disabled",true); 
    

    3) 你可以使用下面的代码:

    $.ajax({
                type: "POST",
                url: "",
                contentType: "application/json; charset=utf-8",
                success: function (response) {   
            }
        });
    

    【讨论】:

    • 我的错误是 POST :)
    猜你喜欢
    • 1970-01-01
    • 2011-07-28
    • 1970-01-01
    • 2021-12-09
    • 2013-07-28
    • 2019-07-13
    • 1970-01-01
    • 2020-12-13
    • 1970-01-01
    相关资源
    最近更新 更多