我尝试在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!!");
}
}
答案 0 :(得分:1)
在CountEstab()
内拨打success function
。
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();
}
});
}
答案 1 :(得分:1)
将第二个函数作为回调函数传递给第一个函数。
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)