jsp页面根据数据库的值显示div
主要代码<scripttype="text/javascript">functiondisplay(id){vartraget=document.getElementBy...
主要代码
<script type="text/javascript">
function display(id){
var traget=document.getElementById(id);
traget.style.display="block";
}
</script>
<form name="myform" method="post">
<span>申请人</span>
<input name="sq_name" id="sq_name" type="text" size="15">
<% String sq_name=request.getParameter("sq_name");
ResultSet rs1=inBean.ExeQuery("select * from sq_user,work_flow where sq_user.work_name=work_flow.work_name and sq_name='"+sq_name+"'");
%>
<% while (rs1.next())
{
%>
<input type="button" id="submit" class="submit" value="查询" onclick="return display('<%=rs1.getString("work_order") %>')" /> //work_order的值为a到e,与div的ID对应。
<%} %>
</form>
<div id="a" style="display:none"><img src="newpic/1.gif" /></div>
<div id="b" style="display:none"><img src="newpic/2.gif" /></div>
<div id="c" style="display:none"><img src="newpic/3.gif" /></div>
<div id="d" style="display:none"><img src="newpic/4.gif" /></div>
<div id="e" style="display:none"><img src="newpic/5.gif" /></div>
现在运行的结果是,看不到查询按钮。在input里输入申请人点回车后才会显示查询按钮,再点查询才能看到div。怎么能直接输入申请人,然后点查询,下面直接显示div。 展开
<script type="text/javascript">
function display(id){
var traget=document.getElementById(id);
traget.style.display="block";
}
</script>
<form name="myform" method="post">
<span>申请人</span>
<input name="sq_name" id="sq_name" type="text" size="15">
<% String sq_name=request.getParameter("sq_name");
ResultSet rs1=inBean.ExeQuery("select * from sq_user,work_flow where sq_user.work_name=work_flow.work_name and sq_name='"+sq_name+"'");
%>
<% while (rs1.next())
{
%>
<input type="button" id="submit" class="submit" value="查询" onclick="return display('<%=rs1.getString("work_order") %>')" /> //work_order的值为a到e,与div的ID对应。
<%} %>
</form>
<div id="a" style="display:none"><img src="newpic/1.gif" /></div>
<div id="b" style="display:none"><img src="newpic/2.gif" /></div>
<div id="c" style="display:none"><img src="newpic/3.gif" /></div>
<div id="d" style="display:none"><img src="newpic/4.gif" /></div>
<div id="e" style="display:none"><img src="newpic/5.gif" /></div>
现在运行的结果是,看不到查询按钮。在input里输入申请人点回车后才会显示查询按钮,再点查询才能看到div。怎么能直接输入申请人,然后点查询,下面直接显示div。 展开
3个回答
展开全部
您好,很高兴为您解答,首先请你提供您所使用的框架技术,包括哪些,如果没有使用框架,我给你提供最简单原始的如下思路:
拿简单的 servlet 来说:
当在页面做 input 提交时,用户名已经被提交到后台,当然,我们的目的是获取work_order值,接下来控制页面转发回你提交的 jsp,记住转发与重定向的区别,这里我不做过多阐述,接下来就是jsp 页面的操作了,您可以使用脚本语言<%...%>,亦可以使用 jstl 表达式,当然,如果使用了 struts2框架等,ognl 表达式是一个完美的选择,提供的具体思路如下:
<jstl:if test="${requestScope.work_order}==a">显示 a div</if> <jstl:elseif test="${requestScope.work_order}==b">显示 b div</elseif> <jstl:else test="${requestScope.work_order}==a">显示 a div</else>
当然${requestScope.work_order}表示从 request 范围中请求work_order参数,就是你查询出来的
拿简单的 servlet 来说:
当在页面做 input 提交时,用户名已经被提交到后台,当然,我们的目的是获取work_order值,接下来控制页面转发回你提交的 jsp,记住转发与重定向的区别,这里我不做过多阐述,接下来就是jsp 页面的操作了,您可以使用脚本语言<%...%>,亦可以使用 jstl 表达式,当然,如果使用了 struts2框架等,ognl 表达式是一个完美的选择,提供的具体思路如下:
<jstl:if test="${requestScope.work_order}==a">显示 a div</if> <jstl:elseif test="${requestScope.work_order}==b">显示 b div</elseif> <jstl:else test="${requestScope.work_order}==a">显示 a div</else>
当然${requestScope.work_order}表示从 request 范围中请求work_order参数,就是你查询出来的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
原因是第一次运行的时候sq_name,你取的是参数,从request里面取的,但是第一次运行页面内容是空的,你的sql肯定查不到任何内容,当你输入内容后,回车再查,肯定是查到了,查到了才会走到while语句里面,要直接输入申请人查询,你的sql语句就的改造,在where后面跟上 1=1 and, sq_name这里也要做判断,如果为空就不跟在sql上,有值才加上去
String sql= "select * from sq_user,work_flow where 1=1 and sq_user.work_name=work_flow.work_name"
if(null!=sq_name)
sql +="and sq_name='"+sq_name";
String sql= "select * from sq_user,work_flow where 1=1 and sq_user.work_name=work_flow.work_name"
if(null!=sq_name)
sql +="and sq_name='"+sq_name";
追问
是可以了,但是出现两个查询按钮。
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
1首先是取值:
<%
Class.forName("com.mysql.jdbc.Driver").newInstance();
Connection connection = DriverManager.getConnection(url);
Statement statement = connection.createStatement();
String sql = "SELECT * FROM " + tableName;
ResultSet rs = statement.executeQuery(sql);
%>
2然后是输出
<%
out.print("学号");
%>
3最后是显示
<div>
<%
out.print("学号");
%>
</div>
<%
Class.forName("com.mysql.jdbc.Driver").newInstance();
Connection connection = DriverManager.getConnection(url);
Statement statement = connection.createStatement();
String sql = "SELECT * FROM " + tableName;
ResultSet rs = statement.executeQuery(sql);
%>
2然后是输出
<%
out.print("学号");
%>
3最后是显示
<div>
<%
out.print("学号");
%>
</div>
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询