请教一个带参数的函数
现在html代码片断如下
<td><inpute id="id1" value="" onBlur="sndReq(this.value,this.id);"></td>
<td><inpute id="id1" value="" ></td>
<td><inpute id="temp" style="hidden" value="" ></td>
我想在id1里面输入一个数字,经过echo.php连接数据库后找出数字对应的string,然后在id2上输出那段string.而id1和id2是有关联的,譬如id1是1,id2就是a1,id1是2,id2就是a2……
现在是把echo.php的内容放到一个id为temp的input里面,再复制temp的值到id2。
可是本来是想用参数id1传递到handleResponse函数里面,这样就可以在handleResponse函数里对id2(id2="a"+id1)的value进行赋值,但是handleResponse那个函数加了参数id1之后用不了,问题究竟在哪?怎样才能解决?或者有什么其他方法?
如今的javascript如下:
function createRequestObject() {
var ro;
var browser = navigator.appName;
if(browser == "Microsoft Internet Explorer"){
ro = new ActiveXObject("Microsoft.XMLHTTP");
}else{
ro = new XMLHttpRequest();
}
return ro;
}
var http = createRequestObject();
function sndReq(a,id1) {
var row = document.getElementById(id);
var ln = row.nextSibling;
var temp = document.getElementById("temp");
http.open('get', 'echo.php?a='+a);
http.onreadystatechange = handleResponse;
http.send(null);
document.getElementById("a"+id1).value = document.getElementById("temp").value;//注:"a"+id1 =id2
}
function handleResponse() { //想定义成function handleResponse(id),但不行
if(http.readyState == 4){
var response = http.responseText;
document.getElementById("temp").value =null;
document.getElementById("temp").value = response;
//如果能用function handleResponse(id),就能直接function handleResponse("a"+id) = response;,而不用搞得那么麻烦
}
}