我有一个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方法
答案 0 :(得分:0)
1)您可以使用$("#myForm").submit();
2)将此代码放入服务器调用中的success函数中:
$('#submitBtn').prop("disabled",true);
3)您可以使用以下代码:
$.ajax({
type: "POST",
url: "",
contentType: "application/json; charset=utf-8",
success: function (response) {
}
});
答案 1 :(得分:0)
在您的onclick功能中,您错过了关键步骤:
$("#myForm").submit();
前提是表单标签的action属性应该定义url。 样本如下:
<form action="your url...." method="post" id="myForm">
</form>
此外,您的代码
$('#submitBtn').prop("disabled",true);
已经确保按钮无法点击两次。