如何禁用基于Ajax响应AJAX提交按钮

问题描述:

我想用这样的事情在我的代码,但没有运气...如何禁用基于Ajax响应AJAX提交按钮

function captcha(data) { 
    var httpxml; 
    try { 
     // Firefox, Opera 8.0+, Safari 
     httpxml = new XMLHttpRequest(); 
    } 
    catch (e) { 
     // Internet Explorer 
     try { 
      httpxml = new ActiveXObject("Msxml2.XMLHTTP"); 
     } 
     catch (e) { 
      try { 
       httpxml = new ActiveXObject("Microsoft.XMLHTTP"); 
      } 
      catch (e) { 
       alert("Your browser does not support AJAX!"); 
       return false; 
      } 
     } 
    } 

    function stateck() { 
     if (httpxml.readyState == 4) { 
      document.getElementById("cap_error").innerHTML = httpxml.responseText; 
      var result = httpxml.responseText; 
      if (result == 'Error..try again') { 
       document.getElementById("regSubmit").disabled = true; 
      } 


     } 
    } 
    var url = "includes/captcha.php"; 
    url = url + "?datacap=" + data; 
    url = url + "&sid=" + Math.random(); 
    httpxml.onreadystatechange = stateck; 
    httpxml.open("GET", url, true); 
    httpxml.send(null); 
} 

编辑:

我的提交按钮:

<input type="submit" value="Submit" id="regSubmit" name="Submit"/> 

当ajax函数返回'Error..try again'时应该禁用regSubmit按钮。但是这个功能现在不适合我。

if (result == 'Error..try again') 
{ 
    document.getElementById("regSubmit").disabled = true; 
} 
+0

更详细地解释您希望脚本执行的操作。我不完全确定你的意思。 – Marius 2009-09-05 12:43:00

这是我们在我们的应用程序:

document.getElementById('buttonId').disabled=true; 

和它的作品。

两件事情:

1 - 让你应该清除浏览器缓存你改变你的JavaScript之后。

2 - 在禁用按钮之前发出警报,确保您进入“if”语句。