HTML:<td height="24" colspan="2" align="center"><input type="button" value="提交" onclick="doSubmit()"></td>
JAVASCRIPT:function doSubmit(){
url="servlet/SortServlet?name="+document.getElementById("var1").value+"&strategy="+document.getElementById("var2").value+"&txt="+document.getElementById("var3").value;
GatePage(url,var4); }
JAVASCRIPT:function doSubmit(){
url="servlet/SortServlet?name="+document.getElementById("var1").value+"&strategy="+document.getElementById("var2").value+"&txt="+document.getElementById("var3").value;
GatePage(url,var4); }
你在 GagePage 里做了什么
function GatePage(url,obj){
if(window.XMLHttpRequest){
xmlhttp=new XMLRequest();
}
else{
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.open("POST",url,true);
xmlhttp.onreadystatechange = callback(obj);
xmlhttp.setRequestHeader("Connection","close");
xmlhttp.send(null);
}
function callback(obj){
if(xmlhttp.readyState==4){
if(xmlhttp.status==200){
document.getElementById(obj).innerHTML= xmlhttp.responseText;
}
else{
alert('There was a problem with the request.');
}
}
}
或者,你安装一个请求工具,看看点击这个按钮之后的调用到底发生了什么
alert("要疯了");
url="servlet/SortServlet?name="+document.getElementById("var1").value+"&strategy="+document.getElementById("var2").value+"&txt="+document.getElementById("var3").value;
GatePage(url,var4);
alert("要疯第二次");
}我调试了一下 第一个alert正常 第二个没反映 GatePage(url,var4); 那这个肯定错了
可是我找不出错误,参数都是经过测试的 有值 非空
把这个改为:
xmlhttp.onreadystatechange = callback;
<tr>
<td height="180">
<div class="container_content">
<table width="90%" border="0" align="center" cellpadding="2" cellspacing="1" bgcolor="#CCCCCC">
<tr bgcolor="F1F1F1">
<td height="24" colspan="2" align="center"><b>排序算法</b></td>
</tr>
<tr bgcolor="#FFFFFF">
<td width="15%" height="24" align="center" >数据类型:</td>
<td><select name="name" id="var1" onchange="changeType(this.value)">
<option value="Integer" >整型数组</option>
<option value="Double" >浮 点 型</option>
<option value="String" >字 符 串</option>
</select></td>
</tr>
<tr bgcolor="#FFFFFF">
<td height="24" align="center">选择算法:</td>
<td><select name="strategy" id="var2" onchange="changeStrategy(this.value)">
<option value="Bubble" >冒泡排序</option>
<option value="Cocktail" >鸡尾排序</option>
<option value="Insert" >插入排序</option>
<option value="Select" >选择排序</option>
<option value="Shell" >希尔排序</option>
</select></td>
</tr>
<tr bgcolor="#FFFFFF">
<td height="24" align="center">输入数据:</td>
<td><input height="24" type="text" name="txt" id="var3" size="76"></td>
</tr>
<tr bgcolor="#FFFFFF">
<td height="24" align="center">输出数据:</td>
<td><input height="24" type="text" name="txt2" id="var4" size="76"></td>
</tr>
<tr bgcolor="F1F1F1">
<td height="24" colspan="2" align="center"><input type="button" value="提交" onclick="doSubmit()"></td>
</tr>
</table> </div>
</td>
</tr>
</table>
这是我前台的 请求 都是<input>我需要局部跳转所以不用form ajax那里有问题 不知道在哪里
看看是不是你要的结果。。
onclick="doSubmit()"改成在后台绑定,代码分离嘛。
xmlhttp.onreadystatechange = function(){callback(obj);};
如果还不行,看看你的URL是否正确,FF下用firebug看看请求有没有问题