1/1页1 跳转到查看:663
发新话题 回复该主题
键盘左右键可以进行前后翻页操作
帮助

关于ajax和Js的执行先后顺序

关于ajax和Js的执行先后顺序

下边有两个按钮,我想先执行ajax完成后再执行js,ajax的运行时间比较长,要更新数据库, 我想用户操作完ajax后,再操作abc()函数,我怕按了第二个按钮后,ajax()还没有操作完就已经运行abc()函数
<input type="button" name="Submit" value="按钮"  />
<input type="button" name="Submit2" value="按钮"  />

<script>
try{
xml=new XMLHttpRequest();
}catch(c){
try{
xml=new ActiveXObject("Microsoft.XMLHTTP");
}catch(a){
try{
xml=new ActiveXObject("Msxml2.XMLHTTP");
}catch(b){
xml=false;
}
}
}

function ajax(){
var kool="z.php?update=1";
xml.open('GET',kool,1);
xml.send(null);
xml.onreadystatechange = callBack;
}
function callBack() {
if (xml.readyState == 4) {
  if (xml.status == 200) {
  a=xml.responseText;
  form1.b.value=a;
  }
}
}
function abc(){
window.open('abc.php');
}
</script>

TOP

 

下边有两个按钮,我想先执行ajax完成后再执行js,ajax的运行时间比较长,要更新数据库, 我想用户操作完ajax后,再操作abc()函数,我怕按了第二个按钮后,ajax()还没有操作完就已经运行abc()函数
<input type="button" name="Submit" value="按钮" onclick="ajax()" />
<input type="button" name="Submit2" value="按钮" onclick="abc()" />

<script>
try{
xml=new XMLHttpRequest();
}catch(c){
try{
xml=new ActiveXObject("Microsoft.XMLHTTP");
}catch(a){
try{
xml=new ActiveXObject("Msxml2.XMLHTTP");
}catch(b){
xml=false;
}
}
}

function ajax(){
var kool="z.php?update=1";
xml.open('GET',kool,1);
xml.send(null);
xml.onreadystatechange = callBack;
}
function callBack() {
if (xml.readyState == 4) {
  if (xml.status == 200) {
  a=xml.responseText;
  form1.b.value=a;
  }
}
}
function abc(){
window.open('abc.php');
}
</script>

TOP

 

不能这样,因为,还有很多事件要手动完成的,而且事件是根据实际去操作,不能自动的,按实际手动调用abc()函数

TOP

 

试试这样
点击 Submit 执行 ajax()的时候 先把 submit2 设定为不可点击操作。待 ajax()执行结束后,吧 submit2 恢复 可点击。

TOP

 
1/1页1 跳转到
发表新主题 回复该主题