这是最终的代码:(目的是想实现:点击 查询后 如果输入框为空则什么都不做,并提醒用户。如果输入框有值的话,就将输入框的参数传到SQL对 pubs 中的titles 表做查询,结果以表格形式出现。)<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.sql.*"%>
<html>
<body>
请输入type的值:
<form name=frm1>
<input type=text name=text1 ><br/>
<input type=button name=submit value="查询" onclick="a()">
</form>
<table borderColor="#888888" borderColorDark="#ffffff" cellSpacing="0" cellPadding="2" border="1">
<tr>
<td><b>type</td>
<td><b>pub_id</td>
<td><b>price</td>
</tr>
<script language="javascript">
function a(){
if(frm.text1.value.length == 0){
alert("请输入数据!!")
}
else{
<%Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=pubs";
String user="jy";
String password="jy";
String type = request.getParameter("text1");
Connection conn= DriverManager.getConnection(url,user,password);
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String sql="select type,pub_id,price from titles where type like '%"+type+"%'";
ResultSet rs=stmt.executeQuery(sql);
while(rs.next()) {%>
<tr>
<td><%=rs.getString(1)%></td>
<td><%=rs.getString(2)%></td>
<td><%=rs.getString(3)%></td>
</tr>
<%}%>
<%out.print("titles表的查询数据如下:");%>
<%rs.close();
stmt.close();
conn.close();
%> }
}
</script>
</table>
</body>
</html>
应该怎么改代码呢?
<%@ page import="java.sql.*"%>
<html>
<body>
请输入type的值:
<form name=frm1>
<input type=text name=text1 ><br/>
<input type=button name=submit value="查询" onclick="a()">
</form>
<table borderColor="#888888" borderColorDark="#ffffff" cellSpacing="0" cellPadding="2" border="1">
<tr>
<td><b>type</td>
<td><b>pub_id</td>
<td><b>price</td>
</tr>
<script language="javascript">
function a(){
if(frm.text1.value.length == 0){
alert("请输入数据!!")
}
else{
<%Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=pubs";
String user="jy";
String password="jy";
String type = request.getParameter("text1");
Connection conn= DriverManager.getConnection(url,user,password);
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String sql="select type,pub_id,price from titles where type like '%"+type+"%'";
ResultSet rs=stmt.executeQuery(sql);
while(rs.next()) {%>
<tr>
<td><%=rs.getString(1)%></td>
<td><%=rs.getString(2)%></td>
<td><%=rs.getString(3)%></td>
</tr>
<%}%>
<%out.print("titles表的查询数据如下:");%>
<%rs.close();
stmt.close();
conn.close();
%> }
}
</script>
</table>
</body>
</html>
应该怎么改代码呢?
解决方案 »
- 点击alert() 确定按钮之后 页面自动刷新
- IE不支持object标签怎么办啊
- 怎么将select标签设置成和数据库中一样的/
- 读取xml文件,转换为另外一个xml文件的时候报错,
- 怎么取被选中复选框的值?
- 页面表单form中的action属性没有或写成action=“”,最后点submit的时候,向谁提交请求,本页吗
- <html:file>设定文件对话框文件类型,急。。。。
- 如何将tomcat-4.1.8加入到window2000的服务中
- jbuilder5中调试servlet很不方便呀,各位指点一下。
- java和jsp如何调试,如果用jdk的话?
- 讨论...如何通过程序把别人网站服务器的许多图片保存在自己的电脑....
- 动态分离菜单
其他的用jsp判断有没有传过来参数就可以了.
有参数就查询,循环输出.
这都不知道?
1\改一下form的属性
<form name="changepwd" onSubmit="return a();" action="你网页的名字" method="post">
2\再改一下.javascript
<script language="javascript">
function a(){
if(frm.text1.value.length == 0){
alert("请输入数据!!")
return false;
} return true;
}
这是完成验证的.3/再写java
<%Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=pubs";
String user="jy";
String password="jy";
String type = request.getParameter("text1");
Connection conn= DriverManager.getConnection(url,user,password);
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String sql="select type,pub_id,price from titles where type like '%"+type+"%'";
ResultSet rs=stmt.executeQuery(sql);
while(rs.next()) {%>
<tr>
<td><%=rs.getString(1)%></td>
<td><%=rs.getString(2)%></td>
<td><%=rs.getString(3)%></td>
</tr>
<%}%>
<%out.print("titles表的查询数据如下:");%>
<%rs.close();
stmt.close();
conn.close();
%>
不要把javascript和java写在一起.
<%@ page import="java.sql.*"%>
<%
String type = request.getParameter("text1");
ResultSet rs = null;
Connection conn= null;
Statement stmt=null;
if(type != null){
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=pubs";
String user="sa";
String password="sa";conn= DriverManager.getConnection(url,user,password);
stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String sql="select type,pub_id,price from titles where type like '%"+type+"%'";
rs=stmt.executeQuery(sql);
}%>
<html>
<head>
<title>test</title>
</head>
<script language="javascript">
function a(){
if(frm1.text1.value.length == 0){
alert("请输入数据!!")
return false;
}
alert(document.frm1.action);
document.frm1.submit();
}
</script>
<body>
<form name="frm1" action="testdb.jsp" method="post">
请输入type的值:<input type=text name=text1 ><br/>
<input type=button name=submit1 value="查询" onclick="a()">
</form>
<table borderColor="#888888" borderColorDark="#ffffff" cellSpacing="0" cellPadding="2" border="1">
<tr>
<td><b>type</td>
<td><b>pub_id</td>
<td><b>price</td>
</tr>
<%if(rs != null){
out.print("titles表的查询数据如下:");
while(rs.next()){%>
<tr>
<td><%=rs.getString(1)%></td>
<td><%=rs.getString(2)%></td>
<td><%=rs.getString(3)%></td>
</tr>
<%}
rs.close();
stmt.close();
conn.close();
}
%>
</table>
</body>
</html>
与<form name="frm1" action="testdb.jsp" method="post"> 中的action值为一致。
原来程序中<input type=button name=submit value="查询" onclick="a()">有问题:
name名字不能定义为html的关键字。submit为html中的关键字
String password="sa";
改为:
String user="jy";
String password="jy";