1

我正在提交一个表单,但需要我的表单首先运行一些检查,所以我调用了一些需要运行 XMLHttpRequest 以查看是否在另一个 PHP 脚本上设置了某些内容的 javascript。我可以取回值,但只在我得到响应的区域内输出消息,任何将其放入变量并在其他地方使用的尝试都不起作用,这是我的脚本:

function validateform() {

var complete = "Please fill in the following fields:";
var temp;

if (window.XMLHttpRequest)
  {// code for IE7+, Firefox, Chrome, Opera, Safari
  xmlhttp=new XMLHttpRequest();
  }
else
  {// code for IE6, IE5
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
xmlhttp.onreadystatechange=function()
  {
  if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {

    temp=xmlhttp.responseText;
     alert(temp);
    }
  }


xmlhttp.open("GET","hrp/recaptcha/verify.php",true);
xmlhttp.send();

alert(temp);

第一个“alert(temp”)被输出,但代码末尾的那个总是说未定义,所以我不能在外面使用它。

有任何想法吗?感谢:D

4

1 回答 1

1

看来您不想要异步调用,在这种情况下,您需要执行以下操作:

xmlhttp.open("GET","hrp/recaptcha/verify.php",false);

您还可以删除块:

xmlhttp.onreadystatechange=function()
  {
  if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {
于 2012-07-24T16:32:50.843 回答