index.php
</head>
<script language="javascript" src="ajax.js"></script>
<select name="a" id="a" onclick="funaa()">
<option value="0" selected="selected">请选择</option>
</select>
<label>text1
  <input type="text" name="textfield1" id="textfield1" />
  </label>
  <label>text1
  <input type="text" name="textfield2" id="textfield2" />
  </label>
  <label>text1
  <input type="text" name="textfield3" id="textfield3" />
  </label>
  <label>text1
  <input type="text" name="textfield4" id="textfield4" />
  </label></html>ajax.js文件如下://*****************判断浏览器//
var http_request;
function ssss(url,method) {
  http_request = false;
  if(window.XMLHttpRequest) { 
  http_request = new XMLHttpRequest();
  if (http_request.overrideMimeType) {
   http_request.overrideMimeType('text/xml');
  }
  }
  else if (window.ActiveXObject) { 
  try {
   http_request = new ActiveXObject("Msxml2.XMLHTTP");
  } catch (e) {
   try {
   http_request = new ActiveXObject("Microsoft.XMLHTTP");
   } catch (e) {}
  }
  }
  if (!http_request) {
  window.alert("不能创建XMLHttpRequest对象实例.");
  return false;
  }
  switch(method){
//******************//根据方法为1调用bb函数
  case 1:http_request.onreadystatechange = bb;break;  
  }
  http_request.open("GET", url, true);
  http_request.send(null);
}
//****************//关键bb函数不会写,怎样把http_request.responseText拆分后放置到几个文本框内??谢谢
function bb(){
//返回值为逗号间隔的一些值;
 alert(http_request.responseText);
//?????目前只能将返回值放在一个文本框内,谢谢!!!!
 document.getElementById("textfield1").value=http_request.responseText;
}
//****************//
function funaa(){
ssss("test.php",1);
}
test.php文件如下:<?phpecho "aa,bb,cc,dd,ee,ff";?>
ajax中代码该怎样拆分XHR.responsetext?然后返回到页面中的不同文本框内?谢谢了

解决方案 »

  1.   

    js 基础问题 split()拆分函数使用resVal = http_request.responseText;arr = resVal.split(',');document.getElementById("textfield1").value = arr[0];
    document.getElementById("textfield2").value = arr[1];
    document.getElementById("textfield3").value = arr[2];
    document.getElementById("textfield4").value = arr[3];
      

  2.   

    能将函数做的更完美些么?因为网页中文本框很多,我想用document.getElementByname()加个循环实现,或者ByID循环,想了半天头都疼了,谢谢您~
      

  3.   

    resVal = http_request.responseText;arr = resVal.split(',');for(n=1;n<=4;n++){
        document.getElementById("textfield"+n).value = arr[n-1];
    }
      

  4.   

    resVal = http_request.responseText;arr = resVal.split(',');
    for(i=0; i<arr.length; i++){
    document.getElementByname("input").[j] = arr[i];
    }是这样写的还是怎么写来着,记不起来了
      

  5.   

    如果是要根据ajax的结果自动生成多个input,那就要用 innerHTML