日期:2014-05-17  浏览次数:20793 次

请问jsp页面无刷新提交表单值
jsp页面中无刷新读取文本框中的值例如,我想读取我在页面上输入的txt的值,值读取以后在本页面用,下面jsp页面是M.jsp,xmlhttp.responseText返回的是整个页面的代码,这个服务器响应返回是什么(我本以为返回的是传过去的txt的值),请解释一下,刚学不太明白,我想在java中调用txt的值:
<%@ page language="java" import="java.util.Date.*,java.io.*,java.sql.*" pageEncoding="UTF-8"%>
<html>
<head>
<script type="text/javascript">
var xmlhttp;
function showHint()
{

if (window.XMLHttpRequest)
  {// code for IE7+, Firefox, Chrome, Opera, Safari
  xmlhttp=new XMLHttpRequest();
  }
else if(window.ActiveXObject)
  {// code for IE6, IE5
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
var txt=document.getElementById("txt").value;
if(txt==null)
{
alert("用户名为空");
return;
}
var url="M.jsp?txt="+txt;
xmlhttp.open("GET",url,true);
  
xmlhttp.onreadystatechange=updatestage;

xmlhttp.send(null);
}
function updatestage()
{
 if (xmlhttp.readyState==4 && xmlhttp.status==200)
  {

  document.getElementById("sss").value=xmlhttp.responseText;
  }
}
</script>
</head>
<body>
<p><input type="text" name="txt" id="txt"/></p>
<p><input type="button" value="tijiao" onclick="showHint()"/></p>
<p><input type="text" name="sss" id="sss"/></p>
</body>
</html>
谢谢解答!

------解决方案--------------------
lz 这样txt 变量的值传过去确实是文本框的值。 至于responseText变成了整个jsp页面,可能是由于lz后台得到ajax传过的值 然后不是用流的方式往页面写的。可以把后台的代码贴出来看看
------解决方案--------------------
这挺简单的,用 AJAX 就可以了

你搜一个 AJAX的例子来改一下就行了,都不用怎么学
当然,如果你想能自己写出来的话就学一下