请问直接用地址提交数据时数据跟在?后面,为什么么不会把textarea中的换行符/n提交上去? 使用encodeURIComponent编码decodeURIComponent已编码function encodeURIComponent(encodedURIString : String) : String 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你的设计有问题,地址是有限制的,255字节,超过会报错,而你的代码要把textarea的内容放到地址栏上,字符少没问题,你怎么保证用户不在上面多输?!!! 你应该用 <form name="form1" method=post> 我这是个例子了,其实我是用的是ajax,它用的是get方法。所以有这个问题。 var kv = escape(document.all.form1.fm.value); 我用escape编码后,在jsp端没接收到值.jsp 页面:<%@ page contentType="text/html; charset=GBK" %><% request.setCharacterEncoding("GBK"); %><% String sm=request.getParameter("fm"); String act=request.getParameter("action"); System.out.println("fm: "+sm); System.out.println("action: "+act);%>获取的值:${param.fm}获取的值:${param.action}c.htm:<script language="javascript"> function dock(){ var kv=escape(document.all.form1.fm.value); window.location='http://localhost:8080/trasp/so.jsp?action=中文&fm='+kv; } </script> <form name="form1"> <textarea name="fm" cols="20" rows="10"> a b c(这三个a,b,c中间是有换行的。) </textarea> <input type="button" value="dolocation" onclick="dock();"> </form>如果我用encodeURIComponent 编码,但是这个会用UTF-8来编码,我又需把<%@ page contentType="text/html; charset=GBK" %><% request.setCharacterEncoding("GBK"); %>改成<%@ page contentType="text/html; charset=UTF-8" %><% request.setCharacterEncoding("UTF-8"); %>但是改了以后这个action的中文值就得不到了,我不想用UTF-8编码,我只想把换行符传过去,我该怎样办呢? 把escape换成encodeURIComponent试试,前段时间也发了个贴,不知道为什么用esape服务端就接收不到数据,结果也没有弄明白是为什么。 转换时escape 按unicode编码encodeURIComponent 按utf-8编码在服务器端,如果系统不能替你转换,你需要自行转换 xuzuning(唠叨) :我之前也发过一个有关escape的问题,它会导致request得不到内容.以下是前段时间为这个问题发的个贴子.http://community.csdn.net/Expert/topic/4583/4583452.xml?temp=.7443659汉字escape后,request不成功 最后还是把\n转换成<br> public static String replaceBr(String str){ String retStr=""; if(str!=null){ retStr=replace(replace(str,"\r\n","<br>")," "," "); } System.out.println("end:"+retStr); return retStr; } jquery如何获取刷新之前页面的值 关于内存泄漏,请各位看看 垂直滚动条在Chrome和Safari下变的很迟钝,而firefox下正常 请教 使用canvas, svg 或 vml画图的基本流程 javascript 简单问题,,JS文件引入问题 js如何判断网页是由ie打开的还是VC打开的 通过网址得到该网址页面的元素 有没有谁能将下面的代码写成VBScript的呀? 关于JavaScript2.0 如何让textbox的初始值为系统的当前时间 位置问题:某id.style.top IE和firefox兼容
jsp 页面:
<%@ page contentType="text/html; charset=GBK" %>
<% request.setCharacterEncoding("GBK"); %>
<%
String sm=request.getParameter("fm");
String act=request.getParameter("action"); System.out.println("fm: "+sm);
System.out.println("action: "+act);
%>获取的值:${param.fm}
获取的值:${param.action}c.htm:
<script language="javascript">
function dock(){
var kv=escape(document.all.form1.fm.value);
window.location='http://localhost:8080/trasp/so.jsp?action=中文&fm='+kv;
}
</script> <form name="form1">
<textarea name="fm" cols="20" rows="10">
a
b
c(这三个a,b,c中间是有换行的。)
</textarea>
<input type="button" value="dolocation" onclick="dock();">
</form>如果我用encodeURIComponent 编码,但是这个会用UTF-8来编码,我又需把
<%@ page contentType="text/html; charset=GBK" %>
<% request.setCharacterEncoding("GBK"); %>
改成
<%@ page contentType="text/html; charset=UTF-8" %>
<% request.setCharacterEncoding("UTF-8"); %>
但是改了以后这个action的中文值就得不到了,我不想用UTF-8编码,我只想把换行符传过去,我该怎样办呢?
前段时间也发了个贴,
不知道为什么用esape服务端就接收不到数据,结果也没有弄明白是为什么。
escape 按unicode编码
encodeURIComponent 按utf-8编码在服务器端,如果系统不能替你转换,你需要自行转换
以下是前段时间为这个问题发的个贴子.http://community.csdn.net/Expert/topic/4583/4583452.xml?temp=.7443659
汉字escape后,request不成功
public static String replaceBr(String str){
String retStr="";
if(str!=null){
retStr=replace(replace(str,"\r\n","<br>")," "," ");
}
System.out.println("end:"+retStr);
return retStr;
}