我正在尝试在提交表单后启用按钮。
我可以启用按钮,但我想等待表单完成该过程,然后启用该按钮。我可以使用setTimeout()
等待几秒钟,然后启用按钮,但我不想这样做。我希望一旦表单完成它的过程然后启用按钮。我不确定这是否是一个可能的用例。
形式:
<input type=submit id="myButton" class="esignReports" value="Export E-Sign Information" onclick="disableReportButton(), enableReportButton()"/>
JS:
function disableReportButton() {
document.getElementById('viewIntegrationReport').submit();
document.getElementById('myButton').disabled = true;
document.getElementById('myButton').value = 'Please wait';
}
function enableReportButton() {
document.getElementById('myButton').disabled = false;
document.getElementById('myButton').value = 'Export E-Sign Information';
}
感谢。
答案 0 :(得分:1)
阻止表单提交事件,然后通过ajax提交,例如。使用jQuery $ .post。使用.done(或$ .ajax中的成功处理程序)来调用您的函数:
$("form").on("submit", function(e){
e.preventDefault();
$.post( /* your data here */ )
.done(function(){
// do stuff after post
disableReportButton();
enableReportButton();
};
});
使用$ .ajax的示例,使用成功:Submit form via AJAX in jQuery
答案 1 :(得分:0)
在你的app.js(你的脚本文件)中试试这个
$( document ).ready(function() {
document.getElementById('myButton').hide();
function enableReportButton(callback) {
$("form").on("submit", function(e){
e.preventDefault();
callback();
});
}
enableReportButton( function() {
document.getElementById('myButton').show();
});
}