在a.jsp的文本框中输入了值,点击提交按钮会跳转到b.jsp,我想在b.jsp中利用JS将a.jsp的文本框中的值取到,请问如何做到?

解决方案 »

  1.   

    var value = <%=request.getParameter("content")%>
      

  2.   

    请问双引号里的content是文本框的名字吗
      

  3.   

    那请问我想在JS中调用JAVA类中的方法,而这个方法是要传值的,这个值就是取的文本框中的值,我该如何做呢
      

  4.   

    对的就是文本框name,
    你在JAVA方法后面+'?name='+<%=request.getParameter("content")%>
    有多个参数的话再+'&name1='.....
      

  5.   

    var b = document.getparamtbyid("id");
    document.form[0].action = XXX.jsp?asd=b
    document.form[0].submit
    就这意思,可能有错,刚喝高了
      

  6.   

    textname1.value = window.opener.textname.value //window.opener为父页面。就是你跳转过来的页面
      

  7.   

    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
      

  8.   

    我试过了大家的做法,但还是不成功,不知道是不是跟我要取的文本框是在JS里有关,我在a.jsp的JS里是这样创建文本框的:document.getElementById('box').innerHTML="<input id='test' name='test'>"
      

  9.   

    为什么要用document.getElementById('box').innerHTML=" <input id='test' name='test'>"
    你直接在页面定义元素,不要在JS里动态设定元素……
      

  10.   

    直接传递值也行,用Ajax的一点点知识吧,楼上说了不少.
      

  11.   

    请问b.jsp利用JS如何取到a.jsp中保存的cookie值?
      

  12.   

    请问document.form[0].action = XXX.jsp?asd=b中的asd是什么啊,谢谢,我有两个参数要传递
      

  13.   


    这个没关系
    你只要有id=box你提交的时候把这个输入框的参数带上去b.jsp?test=document.getElementById('test').value;在b.jsp 里用<%=request.getParameter("test")%> 肯定可以了
    不过注意编码问题.中文的话要转一下
      

  14.   

    >_<
    你要确认JS
    document.getElementById('box').innerHTML=" <input id='test' name='test'>" 
    被运行到
    然后
    <div id="box"></div>在这个地方显示的
      

  15.   

    谢谢mousetsun,麻烦你再帮我解决个问题:按照你所说的做法,我在a.jsp里用JS将文本框的值提交了,现在想在b.jsp的JS里取到参数的值,用JSP页面可以取到,但JS取不到。
      

  16.   

    比如你b.jsp?test=111
    在b.jsp里的JSvar value = <%=request.getParameter("test")%>
    这样value就是111了....
    >_< 你试试
      

  17.   

    现在是可以取到值了,但b.jsp页面一刷新,值就变成null
      

  18.   

    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值也可以取到了
      

  19.   

    这样试试用location.href提交function aa()
    {
        location.href = "b.jsp?txt=" + document.getElementById('test').value
    }
      

  20.   

    要取得key2的值如下下就可以了吧function GetURLKey(keyNum)
    {
    var url = window.location.href;
    var key = url.split("=")[keyNum+1].split("&")[0];
    }//key1 = GetURLKey(1);
      

  21.   

    感谢大家的帮助,我现在还有一个小问题,就是用session保存值,当把浏览器关掉后,值又变成null了,我想用cookie保存值,请问怎么写代码啊
      

  22.   

    我也碰到类似的问题,页面一转,text文本框内的值就变成NULL,现在还没有找到办法