ボタンのクリックでjavascript関数を呼び出し、その関数の最初の行でそのボタンを無効にします。私たちが直面している問題は、ユーザーが同時にボタンをクリックした場合ということですjavacriptの関数の属性の設定での遅延
<button class="btn btn-primary DialogSaveBtn" onclick="SavePatientExamination();">Save changes</button>
function SavePatientMedicine()
{
$(".DialogSaveBtn").attr("disabled", "disabled");
var patId = $("#PatId").val();
var appId = $("#PatAppId").val();
var visitNo = $("#PatVisitNo").val();
var valid = true;
var data = new Array();
var tablecount = 0;
$("#MedListTbl .DataRow").each(function() {
debugger;
if ($(this).find(".MedDays").val() == "" || $(this).find(".MedDays").val() <= 0 ||parseInt($(this).find(".MedDays").val())!= parseFloat($(this).find(".MedDays").val()))
{
alert("please enter valid 'Days' for medicines.");
valid = false;
return false;
}
tablecount = tablecount + 1;
var row = {
"iPMID": $(this).find(".RecId").val(),
"PatId": patId,
"AppId": appId,
"MedicineId": $(this).find(".MedId").val(),
};
data.push(row);
});
if (tablecount > 0 && valid) {
$.ajax({
url: '@Url.Action("SavePatientMedicine","OPD")',
type: "POST",
dataType: 'json',
contentType: 'application/json;',
data: JSON.stringify(data),
success: function (msg) {
if (msg == true) {
toastr.success('Record Added Successfully', 'Medicine');
var appId = $("#PatAppId").val();
$('#OPDMedDialog').modal('hide');
$(".DialogSaveBtn").removeAttr("disabled");
} else {
alert("Unable to save data");
$(".DialogSaveBtn").removeAttr("disabled");
}
},
error: function() {
alert("an error occured while saving data");
$(".DialogSaveBtn").removeAttr("disabled");
}
});
}
else {
// $(".DialogSaveBtn").removeAttr("disabled");
}
}
:下のよう
のコード例は、(ユーザーが同じボタンを複数回押さないように、私たちはそのボタンを無効にする必要があります)ボタンが実際に無効になる前に、関数が2回呼び出されます。..
任意のヘルプ感謝..
ボタンは、 'SavePatientMedicine'のコードを投稿しているときに' SavePatientExamination'を実行します。 – A1rPun
作業は非同期ですか? –
私の謝罪、実際にこのような複数のボタンがあります。.. 実際の行は次のとおりです。 '<ボタンクラス= "BTN BTN-主要DialogSaveBtn" onclickの= "SavePatientMedicine();">保存は、私はすでに' –