1.document.write(""); 输出语句
2.JS中的注释为 //
3.传统的HTML文档顺序是:document->html->(head,body)
4.一个浏览器窗口中的DOM顺序是:window->(navigator,screen,history,location,document)
5.得到表单中元素的名称和值:document.getElementById("表单中元素的ID号").name(或value)
6.一个小写转大写的JS: document.getElementById("output").value = document.getElementById("input").value.toUpperCase();
7.JS中的值类型:String,Number,Boolean,Null,Object,Function
8.JS中的字符型转换成数值型:parseInt(string,radix), parseFloat(string)
9.JS中的数字转换成字符型:(""+变量)
10.JS中的取字符串长度是:(length)
11.JS中的字符与字符相连接使用+号.
12.JS中的关系运算符有: ==等于, !=不等于, >, >=, <, <=
数学运算符有: +, -, *, / , %(模除(求余数)), -(取反), ++, --
逻辑运算符: &&, ||, !
带操作的赋值:+=, -=, /=, *=
问号表达式:?:
13.JS中声明变量使用:
var来进行声明
14.JS中的判断语句结构:
if(condition){}else{}
15.JS中的循环结构:
for([initial expression];[condition];[upadte expression]) {inside loop}
16.循环中止的命令是:break
.switch语句:
switch(表达式) {
case 表达式1:
语句1;
break;
case 表达式2:
语句2;
break;
default:
语句3;
}
17.JS中的函数定义:
function functionName([parameter],...){statement[s]}
18.当文件中出现多个form表单时.可以用document.forms[0], document.forms[1]来代替.
19.窗口:
打开窗口window.open(),
关闭一个窗口:window.close(), 窗口本身:self
20.状态栏的设置:
window.status="字符";
21.弹出提示信息:
window.alert("字符");
22.弹出确认框:
window.confirm();
23.弹出输入提示框:
window.prompt();
24.指定当前显示链接的位置:
window.location.href="URL"
25.取出窗体中的所有表单的数量:
document.forms.length
26.关闭文档的输出流:
document.close();
27.字符串追加连接符:+=
28.创建一个文档元素:
document.createElement(),document.createTextNode()
29.得到元素的方法:
document.getElementById()
30.设置表单中所有文本型的成员的值为空:
var form = window.document.forms[0]
for (var i = 0; i<form.elements.length;i++){
if (form.elements[i].type == "text"){
form.elements[i].value = "";
}
}
31.复选按钮在JS中判断是否选中:
document.forms[0].checkThis.checked (checked属性代表为是否选中返回TRUE或FALSE)
32.单选按钮组(单选按钮的名称必须相同):
取单选按钮组的长度document.forms[0].groupName.length
33.单选按钮组判断是否被选中也是用checked.
34.下
拉列表框的值:
document.forms[0].selectName.options[n].value (n有时用下拉列表框名称加上.selectedIndex来确定被选中的值)
35.字符串的定义:
var myString = new String("This is lightsword");
36.字符串转成大写:
string.toUpperCase();
字符串转成小写:
string.toLowerCase();
37.返回字符串2在字符串1中出现的位置:
String1.indexOf("String2")!=-1则说明没找到.
38.取字符串中指定位置的一个字符:
StringA.charAt(9);
39.取出字符串中指定起点和终点的子字符串:
stringA.substring(2,6);
40.数学函数:
Math.PI(返回圆周率)
Math.SQRT2(返回开方)
Math.max(value1,value2)返回两个数中的最大值
Math.pow(value1,10)返回value1的十次方
Math.round(value1)四舍五入到整数函数
Math.floor(Math.random()*(n+1))返回随机数
41.定义日期型变量:
var today = new Date();
var m_date = new Date(numYear,numMonth,numDay);
42.日期函数列表:
dateObj.getTime()得到时间
dateObj.getYear()得到年份
dateObj.getFullYear()得到四位的年份
dateObj.getMonth()得到月份[从0开始]
dateObj.getDate()得到日
dateObj.getDay()得到日期几
dateObj.getHours()得到小时
dateObj.getMinutes()得到分
dateObj.getSeconds()得到秒
dateObj.setTime(value)设置时间
dateObj.setYear(val)设置年
dateObj.setMonth(val)设置月
dateObj.setDate(val)设置日
dateObj.setDay(val)设置星期几
dateObj.setHours设置小时
dateObj.setMinutes(val)设置分
dateObj.setSeconds(val)设置秒 [注意:此日期时间从0开始计]
43.FRAME的表示方式:
[window.]frames[n].ObjFuncVarName,
frames["frameName"].ObjFuncVarName,
frameName.ObjFuncVarName
44.parent代表父亲对象,top代表最顶端对象
45.打开子窗口的父窗口为:opener
46.表示当前所属的位置:this
47.当在超链接中调用JS函数时用:(javascript :)来开头后面加函数名
48.在老的浏览器中不执行此JS:<!-- //-->
49.引用一个文件式的JS:<script type="text/javascript" src="aaa.js"></script>
50.指定在不支持脚本的浏览器显示的HTML:<noscript></noscript>
51.当超链和ONCLICK事件都有时,则老版本的浏览器转向a.html,否则转向b.html.例:<a href="a.html" onclick="location.href='b.html';return false">dfsadf</a>
52.JS的内建对象有:Array,Boolean,Date,Error,EvalError,Function,Math,Number,Object,RangeError,ReferenceError,RegExp,String,SyntaxError,TypeError,URIError
53.JS中的换行:\n
54.窗口全屏大小:
<script>
function fullScreen()
{ this.moveTo(0,0);
this.outerWidth=screen.availWidth;
this.outerHeight=screen.availHeight;
}
window.maximize=fullScreen;
</script>
在javascript中得到当前窗口的高和宽
<body><SCRIPT LANGUAGE="JavaScript">
var s = "";
s += "\r\n网页可见区域宽
:"+ document.body.clientWidth;
s += "\r\n网页可见区域高:"+ document.body.clientHeight;
s += "\r\n网页可见区域宽:"+ document.body.offsetWidth +" (包括边线的宽)";
s += "\r\n网页可见区域高:"+ document.body.offsetHeight +" (包括边线的宽)";
s += "\r\n网页正文全文宽:"+ document.body.scrollWidth;
s += "\r\n网页正文全文高:"+ document.body.scrollHeight;
s += "\r\n网页被卷去的高:"+ document.body.scrollTop;
s += "\r\n网页被卷去的左:"+ document.body.scrollLeft;
s += "\r\n网页正文部分上:"+ window.screenTop;
s += "\r\n网页正文部分左:"+ window.screenLeft;
s += "\r\n屏幕分辨率的高:"+ window.screen.height;
s += "\r\n屏幕分辨率的宽:"+ window.screen.width;
s += "\r\n屏幕可用工作区高度:"+ window.screen.availHeight;
s += "\r\n屏幕可用工作区宽度:"+ window.screen.availWidth;
alert(s);
</SCRIPT>
55.JS中的all代表其下层的全部元素
56.JS中的焦点顺序:document.getElementById("表单元素").tabIndex = 1
57.innerHTML的值是表单元素的值:如<p id="para">"how are <em>you</em>"</p>,则innerHTML的值就是:how are <em>you</em>
58.innerText的值和上面的一样,只不过不会把<em>这种标记显示出来.
59.contentEditable可设置元素是否可被修改,isContentEditable返回是否可修改的状态.
60.isDisabled判断是否为禁止状态.disabled设置禁止状态
61.length取得长度,返回整型数值
62.addBehavior()是一种JS调用的外部函数文件其扩展名为.htc
63.window.focus()使当前的窗口在所有窗口之前.
64.blur()指失去焦点.与FOCUS()相反.
65.select()指元素为选中状态.
66.防止用户对文本框中输入文本:
onfocus="this.blur()"
67.取出该元素在页面中出现的数量:
document.all.tags("div(或其它HTML标记符)").length
68.JS中分为两种窗体输出:
模态和非模态.window.showModaldialog(),window.showModeless()
69.状态栏文字的设置:
window.status='文字',默认的状态栏文字设置:window.defaultStatus = '文字.';
70.添加到收藏夹:
external.AddFavorite("http://www.dannyg.com","jaskdlf");
71.JS中遇到脚本错误时不做任何操作:
window.onerror = doNothing; 指定错误句柄的语法为:window.onerror = handleError;
72.JS中指定当前打开窗口的父窗口:
window.opener,支持opener.opener...的多重继续.
73.JS中的self指的是当前的窗口
75.JS中的top指的是框架集中最顶层的框架
76.JS中关闭当前的窗口:
window.close();
77.JS中提出是否确认的框:
if(confirm("Are you sure?")){alert("ok");}else{alert("Not Ok");}
78.JS中的窗口重定向:
window.navigate("http://www.sina.com.cn");
79.JS中的打印:
window.print()
80.JS中的提示输入框:
window.prompt("message","defaultReply");
81.JS中的窗口滚动条:
window.scroll(x,y)
82.JS中的窗口滚动到位置:
window.scrollby
83.JS中设置计时器:
t1 = setInterval("expr",msecDelay)
或
t1 = setInterval(funcRef,msecDelay)
或
t2 = setTimeout(funcRef,msecDelay)
setInterval函数是按指定时间间隔时间反复执行funcRef表达式(通常是调用程序)
setTimeout 函数是在指定时间后执行funcRef表达式,仅执行一次
清除计时器:
clearInterval(t1);
clearTimeout(t2);
84.JS中的模态显示在IE4+行,在NN中不行:showModalDialog("URL"[,arguments][,features]);
85.JS中的退出之前使用的句柄:
function verifyClose()
{event.returnValue="we really like you and hope you will stay longer.";
}
window.onbeforeunload=verifyClose;
86.当窗体第一次调用时使用的文件句柄:
onload()
87.当窗体关闭时调用的文件句柄:
onunload()
88.window.location的属性:
protocol(http:)
hostname(www.example.com)
port(80)
host(www.example.com:80)
pathname("/a/a.html")
hash("#giantGizmo",指跳转到相应的锚记)
href(全部的信息)
89.window.location.reload()刷新当前页面.
90.window.history.back()返回上一页
window.history.forward()返回下一页
window.history.go(返回第几页,也可以使用访问过的URL)
91.document.write()不换行的输出
document.writeln()换行输出
92.document.body.noWrap=true;防止链接文字折行.
93.变量名.charAt(第几位),取该变量的第几位的字符.
94."abc".charCodeAt(第几个),返回第几个字符的ASCii码值.
95.字符串连接:string.concat(string2),或用+=进行连接
96.变量.indexOf("字符",起始位置),返回第一个出现的位置(从0开始计算)
97.string.lastIndexOf(searchString[,startIndex])最后一次出现的位置.
98.string.match(regExpression),判断字符是否匹配.
99.string.replace(regExpression,replaceString)替换现有字符串.
如果regExpression是个字符串,则仅替换找到的第一个匹配串;
如果需要替换所有,则regExpression必须是正则表达式,
例如:
var s = "2009-10-10"
s = s.replace(/-/g, "/"); //这样的话,3个'-'都会被替换为'/'
100.string.split(分隔符)返回一个数组存储值.
分隔符可以是单个字符或字符串,也可以是正则表达式;如 "08 07.06/5".split(/[.-/ ]/) 的结果是{08, 07, 06, 5}
101.string.substr(start[,length])取从第几位到指定长度的字符串.
102.string.toLowerCase()使字符串全部变为小写.
103.string.toUpperCase()使全部字符变为大写.
104.parseInt(string[,radix(代表进制)])强制转换成整型.
105.parseFloat(string[,radix])强制转换成浮点型.
106.isNaN(变量):测试是否为数值型.
107.定义常量的关键字:con
st,定义变量的关键字:var
108.js中表格的有关操作:
1、增加行:
var newRow = tbl.insertRow(tbl.rows.length);
其中tbl为所要操作的表格对象,默认增加到表格末尾
2、给指定格子(cell)填数据:
var newCell = newRow.insertCell(0); //得到新建表格的第一个格子
newCell.innerHTML = 'Hello World!'; //填入字符串
3、删除指定位置行:
tbl.deleteRow(rowIndex); //删除计数为rowIndex行,tabl同样为表格对象
4、插入行到指定位置:
var newRow = tbl.insertRow(rowIndex); //rowIndex为指定的位置
var newCell = newRow.insertCell(0);
newCell.innerHTML = 'Hello World! insert';
另外,表的所有行可通过表格对象的rows属性得到,返回为一个由行组成的数组。
在删除指定行时,如果行的位置超出表的行数或者位置小于0都将抛出异常,对于插入指定行也是同样的。
109. eval(s)函数的用法:eval(s) 接受一个字符串参数,功能是把这个字符串当成一个表达式并返回该表达式的值。
110. 选中文本框内所有内容:
TextObj.select();
111. 鼠标点击后选中所有内容:
onclick="javascript:this.select();"
111. JavaScript控制文本被选中
<html>
<head>
<title>文本被选中</title>
<script type="text/javascript">
function selectData() //createTextRange只在具体对象时才能创建,createRange要用document.selection创建,否则提示不支持该函数
{
var rng = $("ipt").createTextRange(); //获取一个需要操作对象的TextRange
rng.collapse(); //默认true收缩
rng.select(); //因为已收缩Range,所以select后会将光标移到首部
var sel = document.selection.createRange(); //如果需要选中文本中的一部分,需要创建Range
sel.moveStart("character",$("ipt").value.length-2); //移动开始点
sel.moveEnd("character",2); //移动结束点
sel.select(); //选中开始点到结束点间的字符
}
function selectItem1(){
var mydiv = document.getElementById("myDiv");
var range= document.body.createTextRange();
range.moveToElementText(mydiv)
range.moveEnd('character',-1);
range.moveStart('character',-1);
range.select();
}
function selectItem2(){
var obj = document.getElementsByName("textRange")[0];
var range = obj.createTextRange()
range.moveStart("character",0);
range.select();
}
</script>
</head>
<body>
<div id="myDiv" onclick="selectItem()">
再过二十天左右就要面临高考了,1321321有许多考222生们目前正在紧张的复习当中。但是在北京出现...
</div>
<input type="button" value="选中上面的文本" onclick="selectItem1()" />
</br>
<input type="text" name="textRange" size="100" value="要检查您的网络连接,请单击工具菜单,然后单击 Internet 选项。">
</br>
<input type="button" value="选中上面的
文本" onclick="selectItem2()" />
</body>
</html>
//--------------------------------------------------------------------------------------------
程序代码
//去左空格;
function ltrim(s){
return s.replace( /^\s*/, "");
}
程序代码
//去右空格;
function rtrim(s){
return s.replace( /\s*$/, "");
}
程序代码
//左右空格;
function trim(s){
return rtrim(ltrim(s));
}
程序代码
//替换
function replace(s, t, u) {
i = s.indexOf(t);
r = "";
if (i == -1) return s;
r += s.substring(0,i) + u;
if ( i + t.length < s.length)
r += replace(s.substring(i + t.length, s.length), t, u);
return r;
}
程序代码
//检查非法字符
//str 要检查的字符
//badwords 非法字符 &|<>=
function checkbadwords(str, badwords) {
if (typeof (str) != "string" || typeof (badwords) != "string") {
return (false);
}
for (i=0; i<badwords.length; i++) {
bad = badwords.charAt(i);
for (j=0; j<str.length; j++) {
if (bad == str.charAt(j)) {
return false;
break;
}
}
}
return true;
}
程序代码
//检查合法字符,限制只能输入的字符
//str 要检查的字符
//goodwords 合法字符 1234567890abcdefghijklmnopqrstuvwxyz
function checkgoodwords(str, goodwords) {
if (typeof (str) != "string" || typeof (goodwords) != "string") {
return (false);
}
for (i=0; i<str.length; i++) {
this_str = str.charAt(i);
for (j=0; j<goodwords.length; j++) {
if (this_str == goodwords.charAt(j)) {
break;
}
if(j==goodwords.length-1){
return false;
}
}
}
return true;
}
程序代码
//函 数 名:chkinteger
//功能介绍:检查是否为数字
//参数说明:要检查的字符串
//返 回 值:false:不是 true:是
function chkinteger(checkStr) {
var checkOK = "0123456789+-";
var allValid = true;
for (i=0; i<checkStr.length; i++) {
ch = checkStr.charAt(i);
if (checkOK.indexOf(ch) == -1) {
allValid = false;
break;
}
if ((ch == '+' || ch == '-') && i>0) {
allValid = false;
break;
}
}
return (allValid);
}
程序代码
//函 数 名:chklength
//功能介绍:检查字符串的长度
//参数说明:要检查的字符串
//返 回 值:字节长度值
function chklength(checkStr) {
var n = 0;
for (i=0; i<checkStr.length; i++) {
chcode = checkStr.charCodeAt(i);
if (chcode>=0 && chcode<=255) {
n++;
} else {
n += 2;
}
}
return (n);
}
程序代码
//复选框全选和不全选
//使用方法:
//<input name="chkAll" type="checkbox" id="chkAll" onclick=CheckAll(this.form) value="checkbox">
function unselectall()
{
if(document.myform.chkAll.checked){
document.myform.chkAll.checked = document.myform.chkAll.checked&0;
}
}
function CheckAll(form)
{
for (var i=0;i<form.elements.length;i++)
{
var e = form.elements[i];
if (e.Name != "chkAll"&&e.disabled==false)
e.checked = form.chkAll.checked;
}
}
程序代码
//check date
//return: 1,days 2,false
//2005-12-19 2005-12-29
function checkdate(start_date,end_date){
//al
ert("start_date:["+start_date+"] end_date:["+end_date+"]");
//isnull
if(start_date=="" || end_date==""){
//alert("false");
return false;
}
var strSeparator = "-"; //split symbol
//is-
if(start_date.charAt(4)!=strSeparator && start_date.charAt(7)!=strSeparator && end_date.charAt(4)!=strSeparator && end_date.charAt(7)!=strSeparator){
//alert(start_date.charAt(7));
return false;
}
var strDateArrayStart;
var strDateArrayEnd;
strDateArrayStart = start_date.split(strSeparator);
strDateArrayEnd = end_date.split(strSeparator);
var strDateS = new Date(strDateArrayStart[0] + "/" + strDateArrayStart[1] + "/" + strDateArrayStart[2]);
var strDateE = new Date(strDateArrayEnd[0] + "/" + strDateArrayEnd[1] + "/" + strDateArrayEnd[2]);
//check date
var intDay;
intDay = (strDateE-strDateS)/(1000*3600*24);
//alert(intDay);
return intDay;
}
程序代码
//checkdate_month
//return: 1,true 2,false
//2005-12-19 2005-12-29
//month: number
function checkdate_month(start_date,end_date,month){
//alert("start_date:["+start_date+"] end_date:["+end_date+"]");
//isnull
if(start_date=="" || end_date=="" || month==""){
//alert("false");
return false;
}
var strSeparator = "-"; //split symbol
//is-
if(start_date.charAt(4)!=strSeparator && start_date.charAt(7)!=strSeparator && end_date.charAt(4)!=strSeparator && end_date.charAt(7)!=strSeparator){
//alert(start_date.charAt(7));
return false;
}
var strDateArrayStart;
var strDateArrayEnd;
strDateArrayStart = start_date.split(strSeparator);
strDateArrayEnd = end_date.split(strSeparator);
var strDateS = new Date(strDateArrayStart[0] + "/" + strDateArrayStart[1] + "/" + strDateArrayStart[2]);
var strDateE = new Date(strDateArrayEnd[0] + "/" + strDateArrayEnd[1] + "/" + strDateArrayEnd[2]);
//check date
var intDay;
intDay = (strDateE-strDateS)/(1000*3600*24);
//alert(intDay);
var intMonth = intDay/30;
if(intMonth>month){
return false;
}
return true;
}
1:16 | 添加评论 | 固定链接 | 引用通告 (0) | 写入日志 | 计算机与 Internet
4月22日
JavaScript
<script language="JavaScript">
function log_out() {
top.location.href = "logout.jsp";
}
<!--
var openedid;
var openedid_ft;
var flag=0,sflag=0;
var folderCodes = new Array('Personal','Product','Order','Lottery','Bonus','Friend','Plan','Complain','Survey');
function clickHandler() {
var targetid,srcelement,targetelement;
var strbuf;
srcelement=window.event.srcElement;
if(srcelement.className=="outline") { //在Menu.asp文件如果 class="outline" 则执行
//将它对应的id值加d得到一个新的id值 "1out6d"
targetid=srcelement.id+"d";
//alert(targetid);
//退出系统
if (targetid == "Logoutd") {
if (confirm("请确实是否退出会员系统?"))
log_out() ;
return;
}
targetelement=document.all(targetid);
// 关闭其他
for (i=0; i<folderCodes.length; i++)
document.all(folderCodes[i]+"d").style.display='none
';
targetelement.style.display='';
/*
if (targetelement.style.display=="none") { //如果 style="display:none" 则执行
targetelement.style.display=''; //将 display 赋以空值表示菜单以打开
strbuf=srcelement.src;
if(strbuf.indexOf("images/plus.gif")>-1) { //进行图标变换
srcelement.src="images/tree_plus.gif";
}
else {
srcelement.src="images/tree_plus.gif";
}
}
else {
targetelement.style.display="none";
strbuf=srcelement.src;
if(strbuf.indexOf("images/tree_plus.gif")>-1) {
srcelement.src="images/tree_plus.gif";
}
else {
srcelement.src="images/tree_plus.gif";
}
}
*/
}
if(srcelement.className=="dirclick") {
targetid=srcelement.id+"img";
targetelement=document.all(targetid);
if(flag==1) {
if(openedid) {
openedid.src="images/tree_dir.gif";
}
openedid_ft.style.background="#ffffff";
openedid_ft.style.color="#0000ff";
}
if(sflag==1) {
openedid_ft.style.background="#ffffff";
openedid_ft.style.color="#0000ff";
}
targetelement.src="images/a.gif";
srcelement.style.background="#000080";
srcelement.style.color="#ffffff";
openedid=targetelement;
openedid_ft=srcelement;
flag=1;
sflag=0;
}
if(srcelement.className=="serviceclick") {
targetid=srcelement.id+"img";
targetelement=document.all(targetid);
if(flag==1) {
if(openedid) {
openedid.src="images/a.gif";
}
openedid_ft.style.background="#ffffff";
openedid_ft.style.color="#0000ff";
//targetelement.src="images/tree_dir.gif";
}
if(sflag==1) {
openedid_ft.style.background="#ffffff";
openedid_ft.style.color="#0000ff";
}
srcelement.style.background="#000080";
srcelement.style.color="#ffffff";
openedid=targetelement;
openedid_ft=srcelement;
sflag=1;
flag=0;
}
}
document.onclick = clickHandler;
//-->
</script>
//===============================checkbox============//
//全选。form.selectall.checked为全选按钮的状态。
<SCRIPT language=JavaScript>
<!--
function CheckAll(form)
{
for (var i=0;i<form.elements.length;i++)
{
var e = form.elements[i];
if (e.name != 'selectall')
e.checked = form.selectall.checked;
}
}
//-->
</SCRIPT>
//取checkbox的值
String[] name = request.getParameterValues("myCheckBox");
//注:这个"myCheckBox"值就是上一个页面里面对应的checkbox的name对应的值。
for(int k=0;k<name.length;k++){
String id = name[k];
}
//==================================================//
0:36 | 添加评论 | 固定链接 | 引用通告 (0) | 写入日志 | 计算机与 Internet
4月21日
URL乱码问题
1 表单提交的数据,用request.getParameter(“xxx”)返回的字符串为乱码或者??
2 直接通过url如http://lo
calhost/a.jsp?name=中国,这样的get请求在服务端用request. getParameter(“name”)时返回的是乱码;按tomcat4的做法设置Filter也没有用或者用request.setCharacterEncoding("GBK");也不管用
原因:
1 tomcat的j2ee实现对表单提交即post方式提示时处理参数采用缺省的iso-8859-1来处理
2 tomcat对get方式提交的请求对query-string 处理时采用了和post方法不一样的处理方式。(与tomcat4不一样,所以设置setCharacterEncoding(“gbk”))不起作用。
解决办法:
首先所有的jsp文件都加上:
1 实现一个Filter.设置处理字符集为GBK。(在tomcat的webapps/servlet-examples目录有一个完整的例子。请参考web.xml和SetCharacterEncodingFilter的配置。)
1)只要把%TOMCAT安装目录%/ webapps\servlets-examples\WEB-INF\classes\filters\SetCharacterEncodingFilter.class文件拷到你的webapp目录/filters下,如果没有filters目录,就创建一个。
2)在你的web.xml里加入如下几行:
<filter> <filter-name>Set Character Encoding</filter-name> <filter-class>filters.SetCharacterEncodingFilter</filter-class> <init-param> <param-name>encoding</param-name> <param-value>GBK</param-value> </init-param> </filter> <filter-mapping> <filter-name>Set Character Encoding</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
3)完成.
2 get方式的解决办法
1) 打开tomcat的server.xml文件,找到区块,加入如下一行:
URIEncoding=”GBK”
完整的应如下:
<Connector port="80" maxThreads="150" minSpareThreads="25" maxSpareThreads="75" enableLookups="false" redirectPort="8443" acceptCount="100" debug="0" connectionTimeout="20000" disableUploadTimeout="true" URIEncoding="GBK"/>
2)重启tomcat,一切OK。
执行如下jsp页页测试是否成功
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.util.*"%>
<% String q=request.getParameter("q"); q = q == null? "没有值" : q; %>
<HTML><HEAD><TITLE>新闻列表显示</TITLE>
<META http-equiv=Content-Type content="text/html; charset=gb2312">
<META http-equiv=pragma content=no-cache><body>你提交了:<%=q%>
<form action="tcnchar.jsp" method="post">
输入中文: <input type="text" name="q">
<input type="submit" value="确定"><br>
<a href="tcnchar.jsp?q=中国">通过get方式提交</a>
</form></BODY></HTML>
测试结果如果你输入文本框或者点超链都会显示:你提交了”中国”,说明成功!!!!!
提交表单:
this.form.submit(); //直接提交表单
this.form.onsubmit(); //调用form的onsubmit方法
this.form.fireEvent('onsubmit'); //同上,
onload事件
window.onload=function(){
self.moveTo(0,0)
self.resizeTo(screen.width,screen.height)
}
焦点事件
function window.onfocus(){
if(winPopup){
winPopup.focus();
}
}
失去焦点事件
function window.onblur(){
}
判断一个用window.open打开的窗口是否已经关闭:
首先要把open
的新窗口赋予一个变量:
winPopup = window.open("", "", "")
if(winPopup){ //判断窗口是否被打开过:
if(!winPopup.closed){ //判断该窗口是否已关闭
}
}
UrlEncode函数
function UrlEncode(str){
var ret="";
var strSpecial="!\"#$%&'()*+,/:;<=>?[]^`{|}~%";
for(var i=0;i<str.length;i++){
var chr = str.charAt(i);
var c=str2asc(chr);
if(parseInt("0x"+c) > 0x7f){
ret+="%"+c.slice(0,2)+"%"+c.slice(-2);
}else{
if(chr==" ")
ret+="+";
else if(strSpecial.indexOf(chr)!=-1)
ret+="%"+c.toString(16);
else
ret+=chr;
}
}
return ret;
}