使用ajax传递两个参数并获取另一个页面中的参数值

时间:2015-04-22 05:23:46

标签: ajax jsp

如何使用ajax将两个参数从两个不同的文本框传递到另一个页面。 我应该用哪种功能来做这件事。

的index.jsp

<html>
<head>
<script type="text/javascript">
function sendInfo(str,stri)
{
var XMLhttp;
if(str=="")
    {
        document.getElementById("my").InnerHTML="";
    }
if(window.XMLHttpRequest)
    {
        XMLhttp=new XMLHttpRequest();
    }
else
    {
        XMLhttp=new ActiveXObject("Microsoft.XMLhttp");

    }
XMLhttp.onreadystatechange=function()
{
    if(XMLhttp.readyState==4 && XMLhttp.status==200)
        {
            document.getElementById("my").innerHTML=XMLhttp.responseText;
        }
}
XMLhttp.open("GET","get.jsp?feeid="+str+"&sid="+stri,true);
XMLhttp.send();
}

</script>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>fee processing</title>  
 </head>
 <body>
 <h3>Fee Transaction</h3>
 <form method="post" action="myservlet">
 <table>


<tr>
<td>Date of Transaction</td>
<td><input type="text" name="date"/></td>
</tr>
<tr><td>Feeid</td>
<td><input type="text" name="feeid" onkeyup ="sendInfo(this.value)"></td></tr>
 <tr><td>Student Id</td><td><input type="text" name="sid"       onkeyup="sendInfo(this.value)"/></td></tr>
    <tr><td><div id="my"></div></td></tr>


 <tr><td>amount</td>
 <td><input type="text" name="amount"/></td></tr>
 <tr><td>Remaining</td>
  <td><input type="text" name="remain"/></td>
 </tr>

  <tr><td><input type="submit" name="submit" value="submit"></td></tr>
  </table>
 </form>

 </body>
  </html>

get.jsp:我想在这个页面中找到这两个参数值。

</head>
<body>
<form method="post" action="index.jsp">
<% String fid = request.getParameter("feeid");
int fidd =Integer.parseInt(fid);
System.out.print(fid);
String sid = request.getParameter("sid");
int sidd = Integer.parseInt(sid);
try
{
    //int i =3;
    Class.forName("com.mysql.jdbc.Driver");

    Connection con =  DriverManager.getConnection("jdbc:mysql://localhost:3307/mdb","root","tiger");
    Statement stmt = con.createStatement();
    //System.out.print("a");
    String query1 = "select amount  from feestudent where st_id="+sidd+" and  fees_id="+fidd;

    ResultSet rs = stmt.executeQuery(query1);
    if(rs.next())
    {
    //  System.out.print("d");

    %>

    <table>
    <tr>
    <td><input type="text" name = "totalamt" value="<%=rs.getInt("amount") %>"/></td>

    <%

    }

}
catch(Exception e)
{

    e.printStackTrace();
}

%>

</tr>
    </table>
 %>

</form>
</body>
</html>

请帮助我。

感谢。

1 个答案:

答案 0 :(得分:2)

代码中的问题是由HTML中的这一行引起的:

<td><input type="text" name="feeid"
     "which function should i use here?" ="sendInfo(this.value)"></td>

您的sendInfo(str, stri) JavaScript函数需要两个参数,但您只传入一个参数。传递stri的值,你应该好好去。