JS获取文本框中的值 在a.jsp的文本框中输入了值,点击提交按钮会跳转到b.jsp,我想在b.jsp中利用JS将a.jsp的文本框中的值取到,请问如何做到? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 var value = <%=request.getParameter("content")%> 请问双引号里的content是文本框的名字吗 那请问我想在JS中调用JAVA类中的方法,而这个方法是要传值的,这个值就是取的文本框中的值,我该如何做呢 对的就是文本框name,你在JAVA方法后面+'?name='+<%=request.getParameter("content")%>有多个参数的话再+'&name1='..... var b = document.getparamtbyid("id");document.form[0].action = XXX.jsp?asd=bdocument.form[0].submit就这意思,可能有错,刚喝高了 textname1.value = window.opener.textname.value //window.opener为父页面。就是你跳转过来的页面 a页面:<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>JSP Page</title> <script language="javascript"> function OpenUp() { var ReturnVal,strFile; strFile=encodeURI(document.getElementById("upfiles").value); if(strFile!=null) { ReturnVal=window.showModalDialog("fileframe.jsp?filenames="+strFile+"&type1=a&type2=b","","dialogWidth:35;dialogHeight:30"); //ReturnVal=window.open("fileframe.jsp?filenames="+strFile+"&type2=a&type1=b","","dialogWidth:35;dialogHeight:30"); } else { ReturnVal=window.showModalDialog("fileframe.jsp?type1=a&type2=b","","dialogWidth:100;dialogHeight:30"); //ReturnVal=window.open("fileframe.jsp?type2=1&type1=2","","dialogWidth:100;dialogHeight:30"); } if (ReturnVal!=null) { document.getElementById("upfiles").value=ReturnVal; } } </script> </head> <body> <input type="text" id="upfiles" value=""/><INPUT onclick="OpenUp()" type="button" value="上传" id="up_file"> <INPUT onclick="OpenUp()" type="button" value="删除" id="del_file"><br> <a href="download.jsp">下载</a> </body></html>fileframe.jsp页面:<html> <HEAD> <TITLE>上传附件</TITLE> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> </HEAD> <frameset rows="4%,96%" border="0" frameSpacing="0" frameBorder="0"> <% String filenames = request.getParameter("filenames"); filenames=java.net.URLEncoder.encode(filenames, "UTF-8"); String type1= request.getParameter("type1"); String type2= request.getParameter("type2"); String str="filenames="+filenames+"&type1="+type1+"&type2="+type2; %> <frame src="about:blank" scrolling="no"> <frame src="upload.jsp?<%=str%>"></frameset>upload.jsp页面:<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><% //request.setCharacterEncoding("UTF-8"); String paraFiles = "", type1 = "", type2 = ""; if (request.getParameter("filenames") != null && request.getParameter("filenames").length() > 0) { paraFiles = java.net.URLDecoder.decode(request.getParameter("filenames"),"UTF-8"); } if (request.getParameter("type1") != null && request.getParameter("type1").length() > 0) { type1 = request.getParameter("type1"); } if (request.getParameter("type2") != null && request.getParameter("type2").length() > 0) { type2 = request.getParameter("type2"); } String[] strSelectItem = paraFiles.split(";");%>........<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>JSP Page</title> </head> <body> <form id="form1" method="post" enctype="multipart/form-data" name="form1" target="hidden_frame"> <input type="file" id="file" name="file" style="width:400"> <INPUT type="button" ONCLICK="set('upload')" value="上传文件"> <br> <iframe name='hidden_frame' id="hidden_frame" style='display:none'></iframe> <br> <select id="selectFile"> <option value="">----请选择---- <% int i = 0; for (i = 0; i < strSelectItem.length; i++) { if (strSelectItem[i].trim().length() > 0) { %> <option value= "<%=strSelectItem[i]%>" ><%=strSelectItem[i]%> <% } } %> </select><INPUT type="button" ONCLICK="set('delete')" value="删除文件"> <input type="hidden" id="type1" value=<%=type1%>><input type="hidden" id="type2" value=<%=type2%>><br> <input type="hidden" id="paraFiles" name="paraFiles" value="<%=paraFiles%>"> </form> <INPUT onclick="returnupfile()" type="button" value="完成"> <a href="download.jsp">下载文件</a> </body></html>例子见:http://download.csdn.net/source/965319 我试过了大家的做法,但还是不成功,不知道是不是跟我要取的文本框是在JS里有关,我在a.jsp的JS里是这样创建文本框的:document.getElementById('box').innerHTML="<input id='test' name='test'>" 为什么要用document.getElementById('box').innerHTML=" <input id='test' name='test'>"你直接在页面定义元素,不要在JS里动态设定元素…… 直接传递值也行,用Ajax的一点点知识吧,楼上说了不少. 请问b.jsp利用JS如何取到a.jsp中保存的cookie值? 请问document.form[0].action = XXX.jsp?asd=b中的asd是什么啊,谢谢,我有两个参数要传递 这个没关系你只要有id=box你提交的时候把这个输入框的参数带上去b.jsp?test=document.getElementById('test').value;在b.jsp 里用<%=request.getParameter("test")%> 肯定可以了不过注意编码问题.中文的话要转一下 >_<你要确认JSdocument.getElementById('box').innerHTML=" <input id='test' name='test'>" 被运行到然后<div id="box"></div>在这个地方显示的 谢谢mousetsun,麻烦你再帮我解决个问题:按照你所说的做法,我在a.jsp里用JS将文本框的值提交了,现在想在b.jsp的JS里取到参数的值,用JSP页面可以取到,但JS取不到。 比如你b.jsp?test=111在b.jsp里的JSvar value = <%=request.getParameter("test")%>这样value就是111了....>_< 你试试 现在是可以取到值了,但b.jsp页面一刷新,值就变成null request就是这样的。..你要是想做其他的操作还可以拿到值的话那就要放session里b.jsp?test=111 你在b.jsp里一开始就要判断<%if(request.getParameter("test")!=null&&!"".equals(request.getParameter("test")){request.getSession().setAttribute("test", request.getParameter("test"));}%>var value = <%=request.getSession().getAttribute("test")%> 这样你在其他页面想取test值也可以取到了 这样试试用location.href提交function aa(){ location.href = "b.jsp?txt=" + document.getElementById('test').value} 要取得key2的值如下下就可以了吧function GetURLKey(keyNum){var url = window.location.href;var key = url.split("=")[keyNum+1].split("&")[0];}//key1 = GetURLKey(1); 感谢大家的帮助,我现在还有一个小问题,就是用session保存值,当把浏览器关掉后,值又变成null了,我想用cookie保存值,请问怎么写代码啊 我也碰到类似的问题,页面一转,text文本框内的值就变成NULL,现在还没有找到办法 如何将jsp中的导航栏数据保存在数据库中 异常org.hibernate.sessionexception: session is closed JSP 连接SQL SERVER2000出错 很奇怪的一个问题,大家帮忙给看看怎么回事 Hibernate和spring集成出错 存储过程的查询 在网页中播放媒体文件出错 求用户登录和查看设备信息 关于servlet的配置,高分 谁有Hibernate的项目?求给一个.做着练手(不要某鸟的) Ext border:true属性失效 JSP Frame 中嵌套了一个Iframe, IFrame的内容不能显示
你在JAVA方法后面+'?name='+<%=request.getParameter("content")%>
有多个参数的话再+'&name1='.....
document.form[0].action = XXX.jsp?asd=b
document.form[0].submit
就这意思,可能有错,刚喝高了
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP Page</title>
<script language="javascript">
function OpenUp()
{
var ReturnVal,strFile;
strFile=encodeURI(document.getElementById("upfiles").value);
if(strFile!=null)
{
ReturnVal=window.showModalDialog("fileframe.jsp?filenames="+strFile+"&type1=a&type2=b","","dialogWidth:35;dialogHeight:30");
//ReturnVal=window.open("fileframe.jsp?filenames="+strFile+"&type2=a&type1=b","","dialogWidth:35;dialogHeight:30");
}
else
{
ReturnVal=window.showModalDialog("fileframe.jsp?type1=a&type2=b","","dialogWidth:100;dialogHeight:30");
//ReturnVal=window.open("fileframe.jsp?type2=1&type1=2","","dialogWidth:100;dialogHeight:30");
}
if (ReturnVal!=null)
{
document.getElementById("upfiles").value=ReturnVal;
}
}
</script>
</head>
<body>
<input type="text" id="upfiles" value=""/><INPUT onclick="OpenUp()" type="button" value="上传" id="up_file">
<INPUT onclick="OpenUp()" type="button" value="删除" id="del_file"><br>
<a href="download.jsp">下载</a>
</body>
</html>
fileframe.jsp页面:
<html>
<HEAD>
<TITLE>上传附件</TITLE>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</HEAD>
<frameset rows="4%,96%" border="0" frameSpacing="0" frameBorder="0">
<%
String filenames = request.getParameter("filenames");
filenames=java.net.URLEncoder.encode(filenames, "UTF-8");
String type1= request.getParameter("type1");
String type2= request.getParameter("type2");
String str="filenames="+filenames+"&type1="+type1+"&type2="+type2;
%>
<frame src="about:blank" scrolling="no">
<frame src="upload.jsp?<%=str%>">
</frameset>upload.jsp页面:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
//request.setCharacterEncoding("UTF-8");
String paraFiles = "", type1 = "", type2 = "";
if (request.getParameter("filenames") != null && request.getParameter("filenames").length() > 0) {
paraFiles = java.net.URLDecoder.decode(request.getParameter("filenames"),"UTF-8");
}
if (request.getParameter("type1") != null && request.getParameter("type1").length() > 0) {
type1 = request.getParameter("type1");
}
if (request.getParameter("type2") != null && request.getParameter("type2").length() > 0) {
type2 = request.getParameter("type2");
}
String[] strSelectItem = paraFiles.split(";");
%>
........
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP Page</title>
</head>
<body>
<form id="form1" method="post" enctype="multipart/form-data" name="form1" target="hidden_frame">
<input type="file" id="file" name="file" style="width:400">
<INPUT type="button" ONCLICK="set('upload')" value="上传文件">
<br>
<iframe name='hidden_frame' id="hidden_frame" style='display:none'></iframe>
<br>
<select id="selectFile">
<option value="">----请选择----
<%
int i = 0;
for (i = 0; i < strSelectItem.length; i++) {
if (strSelectItem[i].trim().length() > 0) {
%>
<option value= "<%=strSelectItem[i]%>" ><%=strSelectItem[i]%>
<%
}
}
%>
</select><INPUT type="button" ONCLICK="set('delete')" value="删除文件">
<input type="hidden" id="type1" value=<%=type1%>><input type="hidden" id="type2" value=<%=type2%>><br>
<input type="hidden" id="paraFiles" name="paraFiles" value="<%=paraFiles%>">
</form>
<INPUT onclick="returnupfile()" type="button" value="完成">
<a href="download.jsp">下载文件</a>
</body>
</html>例子见:http://download.csdn.net/source/965319
你直接在页面定义元素,不要在JS里动态设定元素……
这个没关系
你只要有id=box你提交的时候把这个输入框的参数带上去b.jsp?test=document.getElementById('test').value;在b.jsp 里用<%=request.getParameter("test")%> 肯定可以了
不过注意编码问题.中文的话要转一下
你要确认JS
document.getElementById('box').innerHTML=" <input id='test' name='test'>"
被运行到
然后
<div id="box"></div>在这个地方显示的
在b.jsp里的JSvar value = <%=request.getParameter("test")%>
这样value就是111了....
>_< 你试试
你要是想做其他的操作还可以拿到值的话那就要放session里
b.jsp?test=111
你在b.jsp里一开始就要判断
<%
if(request.getParameter("test")!=null&&!"".equals(request.getParameter("test")){
request.getSession().setAttribute("test", request.getParameter("test"));
}
%>var value = <%=request.getSession().getAttribute("test")%> 这样你在其他页面想取test值也可以取到了
{
location.href = "b.jsp?txt=" + document.getElementById('test').value
}
{
var url = window.location.href;
var key = url.split("=")[keyNum+1].split("&")[0];
}//key1 = GetURLKey(1);