怎么控制输入框半角算引号的""输入的问题.(急) 在对象的input value的输入框输入半角的双引号,request接受的时候value 就为空,如何可以控制让客户禁止输半角的算引号"" 问题,在keypess 的时候就控制禁止输入 谢谢。。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 <html><head><title>test</title><script type="text/javascript">function testGG(){ var xx = document.getElementById("xxx"); xx.value = xx.value.replace(/\"/g,"”"); }</script></head><body><input type="text" onKeyUp="testGG()" id="xxx"></body></html> <input id="a" type="text value='12"3"' />or<script>$F("a")="\"aaa\"" 用户这么可能这么输入他输入的数据肯定是"aasssdfsdfssdfsdfsdfsdf" 结果我们接受的时候是空的 你不会教客户要这么输入吧\"aasssdfsdfssdfsdfsdfsdf\"最好就是让客户在半角输入的状态下,禁止输入" 是最佳方案,求也不想用repalce 的方法js控制,因为工程太大了,控制太多了,只是想在标签上写个keypess的时候控制它禁止输入高手,你在哪啊。指点下 他输入的数据肯定是"aasssdfsdfssdfsdfsdfsdf" 结果我们接受的时候是空的-----不是“接受的时候是空的”而是接受过后把它显示出来,就成了空的,<inpt value=""aasssdfsdfssdfsdfsdfsdf"">它显示的结果就是空的。从后台输出到前台的字符串要经过转码,并且输出到js里的和输出到html里的,它们的转码不一样。如果你用的是jsp,可以参考以下代码:/* * Created by Seamus * Updated on 2004-10-21 by JK * */package com.jk.util;public class CommStr{ /** *replace the old string to new string in the given destination string. */ public static java.lang.String strReplace(java.lang.String destStr, java.lang.String oldStr, java.lang.String newStr) { if(destStr==null) return ""; String tmpStr = destStr; int foundPos = tmpStr.indexOf(oldStr); while (foundPos>=0) { tmpStr = tmpStr.substring(0,foundPos) + newStr + tmpStr.substring(foundPos + oldStr.length(),tmpStr.length()); foundPos = tmpStr.indexOf(oldStr,foundPos+newStr.length()); } return tmpStr; } /** *Encode for HTML. */ public static String htmlEncoder(String str) { if(str==null || str.equals("")) return ""; String res_str; res_str=strReplace(str,"&","&"); res_str=strReplace(str," "," "); res_str=strReplace(str,"<","<"); res_str=strReplace(str,">","&rt;"); res_str=strReplace(str,"\"","""); res_str=strReplace(str,"'","'"); return res_str; } /** *Encode for HTML-Text. */ public static String htmlTextEncoder(String str) { if(str==null || str.equals("")) return ""; String res_str; res_str=strReplace(str,"&","&"); res_str=strReplace(str,"<","<"); res_str=strReplace(str,">","&rt;"); res_str=strReplace(str,"\"","""); res_str=strReplace(str,"'","'"); res_str=strReplace(str," "," "); res_str=strReplace(str,"\r\n","<br>"); res_str=strReplace(str,"\r","<br>"); res_str=strReplace(str,"\n","<br>"); return res_str; } /** *Encode for URL. */ public static String urlEncoder(String str) { return java.net.URLEncoder.encode(str) ; } /** *Encode for XML. */ public static String xmlEncoder(String str) { if(str==null || str.equals("")) return ""; String res_str; res_str=strReplace(str,"&","&"); res_str=strReplace(res_str,"<","<"); res_str=strReplace(res_str,">",">"); res_str=strReplace(res_str,"\"", """); res_str=strReplace(res_str,"\'", "´"); return res_str; } /** *Encode for SQL. */ public static String sqlEncoder(String str) { if(str==null || str.equals("")) return ""; String res_str; res_str=strReplace(str,"'","''"); return res_str; } /** *Encode for Javascript. */ public static String jsEncoder(String str) { if(str==null || str.equals("")) return ""; String res_str; res_str=strReplace(str,"\\","\\u005C"); res_str=strReplace(str,"'","\\u0027"); res_str=strReplace(res_str,"\"","\\u0022"); res_str=strReplace(res_str,"\r\n","\\u000A"); res_str=strReplace(res_str,"\n","\\u000A"); res_str=strReplace(res_str,"\r","\\u000A"); res_str=strReplace(res_str,"/","\\u002F"); return res_str; }} <inpt value=""aasssdfsdfssdfsdfsdfsdf""> 那我后台提交request.geParament("input")就是空值"" 插入数据库都空来,还拿来的转化,这都是后谈...那位高手明白阿,,还要改textarea,真够晕了,要改的话,那不累死我,很多页面。。够呛。。那位高手指点js... 我现在目前应急的方法就是在input 域加了个 str=this.value.replace(/\"/g,"“");来转化,我想的是让他键盘根本就不让他输入""这个的时候...谢谢。大虾你何时出现。。 把form的method改为post,不要用get,或者加编码 我想的是让他键盘根本就不让他输入""-----这是无理要求。----用户的输入要忠实的显示,你看看他输入" ""是不是也失真了。 css的绝对定位和相对定位是怎么回事? 手头有个貌似被称之为混淆加密的东东,求助 鼠标事件 如何利用session获得目前停止操作时间 急问关于tab标签菜单的横竖控制问题,快被逼疯了…… 请教各位:DIV固定宽度并小于其包含的Table,Table位置改变后如何求其偏移量(有例子) 各位高手大哥们快了看啊可愁死人了! 如何使用javascript设置IE,FireFox,Opera使用相同的定义 如何实现记住密码、自动登录功能呢? 关于insertAdjacentHTML()中变量的用法 有关折叠菜单de问题,请高手指教 关于onclick=function的问题
<head>
<title>test</title>
<script type="text/javascript">
function testGG(){
var xx = document.getElementById("xxx");
xx.value = xx.value.replace(/\"/g,"”");
}</script>
</head>
<body>
<input type="text" onKeyUp="testGG()" id="xxx">
</body></html>
or
<script>$F("a")="\"aaa\""
他输入的数据肯定是"aasssdfsdfssdfsdfsdfsdf" 结果我们接受的时候是空的
-----
不是“接受的时候是空的”
而是接受过后把它显示出来,就成了空的,<inpt value=""aasssdfsdfssdfsdfsdfsdf"">它显示的结果就是空的。从后台输出到前台的字符串
要经过转码,
并且输出到js里的和输出到html里的,它们的转码不一样。如果你用的是jsp,可以参考以下代码:
/*
* Created by Seamus
* Updated on 2004-10-21 by JK
*
*/
package com.jk.util;public class CommStr
{
/**
*replace the old string to new string in the given destination string.
*/
public static java.lang.String strReplace(java.lang.String destStr, java.lang.String oldStr, java.lang.String newStr)
{
if(destStr==null)
return "";
String tmpStr = destStr;
int foundPos = tmpStr.indexOf(oldStr);
while (foundPos>=0)
{
tmpStr = tmpStr.substring(0,foundPos) + newStr + tmpStr.substring(foundPos + oldStr.length(),tmpStr.length());
foundPos = tmpStr.indexOf(oldStr,foundPos+newStr.length());
}
return tmpStr;
} /**
*Encode for HTML.
*/
public static String htmlEncoder(String str)
{
if(str==null || str.equals(""))
return "";
String res_str;
res_str=strReplace(str,"&","&");
res_str=strReplace(str," "," ");
res_str=strReplace(str,"<","<");
res_str=strReplace(str,">","&rt;");
res_str=strReplace(str,"\"",""");
res_str=strReplace(str,"'","'");
return res_str;
} /**
*Encode for HTML-Text.
*/
public static String htmlTextEncoder(String str)
{
if(str==null || str.equals(""))
return "";
String res_str;
res_str=strReplace(str,"&","&");
res_str=strReplace(str,"<","<");
res_str=strReplace(str,">","&rt;");
res_str=strReplace(str,"\"",""");
res_str=strReplace(str,"'","'");
res_str=strReplace(str," "," ");
res_str=strReplace(str,"\r\n","<br>");
res_str=strReplace(str,"\r","<br>");
res_str=strReplace(str,"\n","<br>");
return res_str;
} /**
*Encode for URL.
*/
public static String urlEncoder(String str) {
return java.net.URLEncoder.encode(str) ;
} /**
*Encode for XML.
*/
public static String xmlEncoder(String str)
{
if(str==null || str.equals(""))
return "";
String res_str;
res_str=strReplace(str,"&","&");
res_str=strReplace(res_str,"<","<");
res_str=strReplace(res_str,">",">");
res_str=strReplace(res_str,"\"", """);
res_str=strReplace(res_str,"\'", "´");
return res_str;
} /**
*Encode for SQL.
*/
public static String sqlEncoder(String str)
{
if(str==null || str.equals(""))
return "";
String res_str;
res_str=strReplace(str,"'","''");
return res_str;
} /**
*Encode for Javascript.
*/
public static String jsEncoder(String str)
{
if(str==null || str.equals(""))
return "";
String res_str;
res_str=strReplace(str,"\\","\\u005C");
res_str=strReplace(str,"'","\\u0027");
res_str=strReplace(res_str,"\"","\\u0022");
res_str=strReplace(res_str,"\r\n","\\u000A");
res_str=strReplace(res_str,"\n","\\u000A");
res_str=strReplace(res_str,"\r","\\u000A");
res_str=strReplace(res_str,"/","\\u002F");
return res_str;
}
}
还要改textarea,真够晕了,要改的话,那不累死我,很多页面。。够呛。。那位高手指点js...
-----
这是无理要求。
----
用户的输入要忠实的显示,
你看看他输入" ""是不是也失真了。