[英]Force Javascript function call to wait until previous one is finished mvc 4
I try to execute two functions in javascript, but the second function have to wait for first function was finished. 我尝试在javascript中执行两个函数,但是第二个函数必须等待第一个函数完成。
View: 视图:
<button id="DefinirEstab" class="btn btn-success btn-lg" data-toggle="modal" data-target="#myModal" onclick="saveContrato(); CountEstab()"> Define
</button>
First function js: 第一个功能js:
function saveContrato() {
$("#formContrato").ajaxSubmit({
type: "POST",
url: $("#formContrato").attr("action"),
clearForm: false,
success: function () {
$("#Serie").attr("disabled", true)
}
});
$("#DefinirEstab").attr("onclick", "CountEstab()");
} }
Second function js (wait for first was finished): 第二个函数js(等待第一个函数完成):
function CountEstab() {
//Guardar os dados na tabela serviço
var Serie = $("#Serie").val();
var NumDoc = $("#NumDoc").val();
$.getJSON("/Contrato/saveCabecalhoServicos", {
serie: Serie, numDoc: NumDoc, idForn: window.IdFornecedor, idFilial: e
});
} else {
alert("Falta de dados obrigatórios preenchidos!!");
}
} }
Call CountEstab()
inside success function
. 在success function
调用CountEstab()
。
html HTML
<button id="DefinirEstab" class="btn btn-success btn-lg" data-toggle="modal" data-target="#myModal"> Define
</button>
javascript JavaScript的
$('#DefinirEstab').on('click', function() {
saveContrato();
return false;
});
function saveContrato() {
$("#formContrato").ajaxSubmit({
type: "POST",
url: $("#formContrato").attr("action"),
clearForm: false,
success: function () {
$("#Serie").attr("disabled", true);
CountEstab();
}
});
}
Pass the second function as a callback to the first function. 将第二个函数作为回调传递给第一个函数。
function saveContrato(callback) {
$("#formContrato").ajaxSubmit({
type: "POST",
url: $("#formContrato").attr("action"),
clearForm: false,
success: function () {
$("#Serie").attr("disabled", true)
callback();
}
});
$("#DefinirEstab").attr("onclick", "CountEstab()");
}
saveContrato(CountEstab)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.