首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Ajax >

innerHTML=http.responseText,结果老是一闪而过,咋办

2012-09-18 
innerHTMLhttp.responseText,结果总是一闪而过,咋办?小妹写了个AJAX程序,jsp提交参数到java脚本后台,得到

innerHTML=http.responseText,结果总是一闪而过,咋办?
小妹写了个AJAX程序,jsp提交参数到java脚本后台,得到的查询结果返回给jsp,结果是有了,就是一闪而过。我把代码贴在下面,麻烦大虾们帮我看看~,多谢了!!

JScript code
<!DOCTYPE html><html>  <head>    <title>search-Cp.html</title>        <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">    <meta http-equiv="description" content="this is my page">    <meta http-equiv="content-type" content="text/html; charset=UTF-8">        <!--<link rel="stylesheet" type="text/css" href="./styles.css">-->  </head> <script type="text/javascript">var http_request = false;function send_request(url) {//初始化、指定处理函数、发送请求的函数  http_request = false;  //开始初始化XMLHttpRequest对象  if(window.XMLHttpRequest) { //Mozilla 浏览器http_request = new XMLHttpRequest();if (http_request.overrideMimeType) {//设置MiME类别http_request.overrideMimeType('text/xml');}  }else if (window.ActiveXObject) { // IE浏览器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;}http_request.onreadystatechange = processRequest;// 确定发送请求的方式和URL以及是否同步执行下段代码http_request.open("GET", url, true);http_request.send(null);}// 处理返回信息的函数function processRequest() {if (http_request.readyState == 4) { // 判断对象状态if (http_request.status == 200) { // 信息已经成功返回,开始处理信息var kk=document.getElementById("txtHint");   kk.style.display="block";   document.getElementById("txtHint").innerHTML=http_request.responseText;    } else { //页面不正常    alert("您所请求的页面有异常。");}}}function search() {  var f=document.form2;  var element1 = f.element.value;  if(element1=="") {window.alert("The user name can not be null!");f.element.focus();return false;  }else {send_request('check.jsp?element='+element1);  }}</script><body><form name="form2" method="post" action="">  <table width="100%" border="1">    <tr>      <td width="200" height="25"><div align="right">请选择元素Element:</div></td>      <td><input type="text" name="element" id="element" /></td>    </tr>    <tr>      <td height="25"><div align="right">请选择相phase:</div></td>      <td>&nbsp;</td>    </tr>    <tr>      <td><div align="right">请输入温度:</div></td>      <td><input type="text" name="T" id="T" /></td>    </tr>  </table>  <table width="100%" border="1">    <tr>      <td><div align="center">        <input type="reset" name="reset" id="reset" value="清空" />         <input type="submit" name="button" id="button" value="查询该元素热容参数"        onclick="search()" />      </div></td>    </tr>  </table></form><br /><div id="txtHint" style="display:inline">查询结果将在此处列出 ...</div></body></html>

这就是jsp了,查询内容反给div。
然后是java脚本:
Java code
<%@ page language="java" import="java.util.*,java.sql.*" contentType="text/html; charset=gb2312"    pageEncoding="utf-8"%><% String element= request.getParameter("element"); Class.forName("com.mysql.jdbc.Driver").newInstance();Connection conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/zhengshi2","root","zky");  Statement sql=conn.createStatement();  String SqlQuery="SELECT * FROM "+element;  ResultSet rs=sql.executeQuery(SqlQuery);response.getWriter().write("QQ"); %> 


为了方便起见,输出个“QQ”作为内容,数据库查询那段大家就别管了。

PS:我觉得问题出在innerHTML上了,因为java可以返回QQ。而且,我把document.getElementById("txtHint").innerHTML=“hello!”;直接输出的hello还是一闪而过。


[解决办法]
因为你提交了表单,要阻止表单提交

 <input type="submit" name="button" id="button" value="查询该元素热容参数"
onclick="search();return false" />

热点排行