<form target="new_f" onChange="maintain_sales_target_2.jsp">
指标期间
<select name=de_period>
<%
while(rs_period.next())
{
%>
<option value=<%=rs_period.getString("cycle")%>><%=rs_period.getString("cycle")%></option>
<%
}
%>
</select></form>我是JSP里只有这个,大家说当选择有变化后,会在new_f这个frame里运行maintain_sales_target_2.jsp吗? 现在变动选择值是没有反应的,还要有什么呢? 谢谢!
指标期间
<select name=de_period>
<%
while(rs_period.next())
{
%>
<option value=<%=rs_period.getString("cycle")%>><%=rs_period.getString("cycle")%></option>
<%
}
%>
</select></form>我是JSP里只有这个,大家说当选择有变化后,会在new_f这个frame里运行maintain_sales_target_2.jsp吗? 现在变动选择值是没有反应的,还要有什么呢? 谢谢!
指标期间
<select name=de_period onChange="maintain_sales_target_2.jsp">
<%
while(rs_period.next())
{
%>
<option value=<%=rs_period.getString("cycle")%>><%=rs_period.getString("cycle")%></option>
<%
}
%>
</select></form>
就是想下拉菜单值变化时在new_f里自动运行maintain_sales_target_2.jsp.....楼上的看看怎么办哈~~
<form target="new_f" >指标期间
<select name=de_period onChange="change()">
<%
while(rs_period.next())
{
%>
<option value= <%=rs_period.getString("cycle")%>> <%=rs_period.getString("cycle")%> </option>
<%
}
%>
</select> </form> //这里写在javascript里面,当上面改变值时调用这个
function change()
{
document.getElementById("frame1").src = "/maintain_sales_target_2.jsp";
}
我这样做了,但在值改变时,maintain_sales_target_2.jsp并没有运行,JSP页面没有任何反映请再帮我看一看吧。下面是定义frame的JSP:
<frameset rows="50,*" framespacing="0" frameborder="1" border="0">
<frame src="maintain_sales_target_1.jsp" frameborder="NO" scrolling="auto" noresize>
<frame src="blank_green.htm" name="new_f" frameborder="NO" scrolling="auto" noresize>
</frameset>下面是maintain_sales_target_1.jsp:
<%@ page contentType="text/html;charset=gb2312" %>
<%@ page pageEncoding="gb2312"%>
<%@ page import="java.sql.*" %>
<%@ include file="connection.jsp" %>
<%
String sql = "select cycle from mis_gen_cycles";
ResultSet rs_period=stm.executeQuery(sql);
%><form target="new_f">
指标期间
<select name=de_period onChange="change()">
<%
while(rs_period.next())
{
%>
<option value=<%=rs_period.getString("cycle")%>><%=rs_period.getString("cycle")%></option>
<%
}
%>
</select></form><script language="javascript">
function change()
{
document.getElementById("new_f").src = "/maintain_sales_target_2.jsp";
}
</script></html>
你的那个<frame name='frame' ...>要这样写。。才能得到这个狂架啊
应该是getElmelentById('frame1' );
应该怎么改吧? 谢谢!先运行的是 maintain_sales_target.jsp 如下:
<%@ page contentType="text/html;charset=gb2312" %>
<%@ page pageEncoding="gb2312"%>
<html>
<title>销售指标维护</title>
<frameset rows="60,*" framespacing="0" frameborder="1" border="0">
<frame src="maintain_sales_target_1.jsp" frameborder="NO" scrolling="auto" noresize>
<frame name="frame1" frameborder="NO" scrolling="auto" noresize>
</frameset>
</html>下面的是maintain_sales_target_1.jsp:
<%@ page contentType="text/html;charset=gb2312" %>
<%@ page pageEncoding="gb2312"%>
<%@ page import="java.sql.*" %>
<%@ include file="connection.jsp" %>
<%
String sql = "select cycle from mis_gen_cycles";
ResultSet rs_period=stm.executeQuery(sql);
%><html><form>
指标期间
<select name=de_period onChange="change()">
<%
while(rs_period.next())
{
%>
<option value=<%=rs_period.getString("cycle")%>><%=rs_period.getString("cycle")%></option>
<%
}
%>
</select></form><script language="javascript">
function change()
{
document.getElementById("frame1").src = "/maintain_sales_target_2.jsp";
}
</script></html>
加了ID,运行后结果一样,错误也一样:'document.getElementById(...)'为空或不是对象 按“或者直接document.frame1.src="/maintain_sales_target_2.jsp"; ”来改后,出错信息成了:'document.frame1'为空或不是对象貌似就是找不到frame1啊再强调一下,这里有二个JSP,前一个JSP定义了frame1,后一个JSP按SELECT的值变动与否来运行maintain_sales_target_1.jsp......
同意,你的源代码中frame是没有id的,但你却用document.getElementById(),那肯定是会报错的。
13楼的哥们说的对
写错了一个数字。。 :-(再强调一下,这里有二个JSP,前一个JSP定义了frame1,后一个JSP按SELECT的值变动与否来运行maintain_sales_target_2.jsp......
function change()
{
top.frames["frame1"].location = "/maintain_sales_target_2.jsp";
}
</script>
top就是获得当前frame所在的顶层页面
top.frames["frame1"]就是获得top页面中name为frame1的frame
top.frames["frame1"].location就是把指定的frame的页面内容换成指定网页的内容
只是<SELECT>里的值de_period的值在onchange后的maintain_sales_target_2.jsp中没有接收到。下面是maintain_sales_target_2.jsp:
<%
String de_period = request.getParameter("de_period");
String sql = "select users_name,period_cycle,target_sales from mis_sales_target mst,mis_users mu where mst.sales_id = mu.users_id and period_cycle = '"+de_period+"'";
ResultSet rs_mysql=stm.executeQuery(sql);
%>
感觉就是这句String de_period = request.getParameter("de_period");没从上一个maintain_sales_target_2.JSP中接收到de_period的值。
1.jsp中有FORM但没有SUBMIT,就是通过change()转到2.jsp来的,请问怎么解决这个问题呢???急!!!
function change()
{
var period_val = document.getElementsByName("de_period")[0].value
top.frames["frame1"].location = "/maintain_sales_target_2.jsp?de_period="+period_val;
}
</script>