之前发布的错误答案是抱歉...抱歉 我有一个我不明白的JavaScript问题。我在工资核算时钟程序(维护方面)中有一个按钮,该按钮利用下面发布的代码。它通常运行良好,但在某些时候有问题。我认为这些工作完全不同步(因为他们可以),并且我觉得我需要一些工作按照被调用的顺序完成。我似乎无法弄清楚如何正确地做到这一点。我觉得我可以使用",false"进行同步调用,但是从我读过的内容不应该这样做。任何建议的样品将不胜感激。我觉得上面的例子解释了它,但由于某种原因无法让我这样做。
<input type="button" value="Add Record" onclick="ChgDate('');
ajaxcall2x('../TimeClock/TC_Modify_File.php?Action=I&xdate=',myform.begdate.value,'&xcomment=Vacation Day&xtime=08:00:00&xuser=','2309','&funct=In&Days=',myform.Days.value,'form2');
ajaxcall2x('../TimeClock/TC_Modify_File.php?Action=I&xdate=',myform.DateOut.value,'&xcomment=Vacation Day&xtime=16:00:00&xuser=','2309','&funct=Out&Days=',myform.Days.value,'form2');
$('#EditDiv0').empty();
ajaxcall(myform.weekList.value,'../TimeClock/WrtOutDays1.php?DId=0&weekList=','44','&Modx_Id=','EditDiv0');
ajaxcall(myform.weekList.value,'../TimeClock/upd_hours_div.php?weekList=','2309', '&Modx_Id=44&y=0&User_Id=', 'Hours0');">
关联的javascript是:
function ChgDate(e) {
var t = new Date(myform.begdate.value);
if (e > 1) {
t.setDate(t.getDate() + 1)
}
myform.DateOut.value = t.toISOString();
myform.DateOut.value = myform.DateOut.value.substring(0, 10)
}
function ajaxcall2x(e, t, n, r, i, s) {
var u;
if (window.XMLHttpRequest) {
u = new XMLHttpRequest
} else {
u = new ActiveXObject("Microsoft.XMLHTTP")
}
url = e + t + n + r + i + s;
u.open("POST", url, false);
u.send()
}
function ajaxcall(e, t, n, r, i) {
if (e == "") {
document.getElementById(i).innerHTML = "";
return
}
if (window.XMLHttpRequest) {
xmlhttp = new XMLHttpRequest
} else {
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP")
}
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
document.getElementById(i).innerHTML = xmlhttp.responseText
}
};
t = t + e + r + n;
xmlhttp.open("POST", t, false);
xmlhttp.send()
}