![](/img/trans.png)
[英]Force Javascript function call to wait until previous one is finished
[英]Force Javascript function call to wait until previous one is finished mvc 4
我嘗試在javascript中執行兩個函數,但是第二個函數必須等待第一個函數完成。
視圖:
<button id="DefinirEstab" class="btn btn-success btn-lg" data-toggle="modal" data-target="#myModal" onclick="saveContrato(); CountEstab()"> Define
</button>
第一個功能js:
function saveContrato() {
$("#formContrato").ajaxSubmit({
type: "POST",
url: $("#formContrato").attr("action"),
clearForm: false,
success: function () {
$("#Serie").attr("disabled", true)
}
});
$("#DefinirEstab").attr("onclick", "CountEstab()");
}
第二個函數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!!");
}
}
在success function
調用CountEstab()
。
HTML
<button id="DefinirEstab" class="btn btn-success btn-lg" data-toggle="modal" data-target="#myModal"> Define
</button>
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();
}
});
}
將第二個函數作為回調傳遞給第一個函數。
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.