|
一个简单的Javascript输入框 |
|
这个程序是一个Javascript类,作用是代替标准输入框,可以输入大小
写字母,数字,空格,回车,其他字符全部过滤掉,按Insert键可以删除前 一个输入的字符。大家可以扩展其功能,这样提交的时候也不用检查什么了, 因为根本就不让你这么乱输入了,只需要后台CGI程序判断就行了。 <html> <head> <title>Edit</title> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> <script language="javascript"> // ***************************************************************** // Written By Caocao // [email protected] // http://caocao.oso.com.cn // ***************************************************************** function editor_input_char(char,method) { pass=1; if (method) { pass=0; if (char==45) { if (this.text.substr(this.text.length-1,this.text.length)==";") { this.text=this.text.substr(0,this.text.length-5); } if (this.text.substr(this.text.length-1,this.text.length)==">") { this.text=this.text.substr(0,this.text.length-3); } this.text=this.text.substr(0,this.text.length-1); if (this.count) { this.count--; } else { if (this.line>1) { this.count=80; this.line--; } } this.paint(); } if (char==13) { char="<br>"; pass=1; } if (char==32) { char=" "; pass=1; } if (char>=48&&char<=57) { char=String.fromCharCode(char); pass=1; } if (char>=65&&char<=90) { char=String.fromCharCode(char); if (!event.shiftKey) { char=char.toLowerCase(); } pass=1; } } if (pass) { this.text+=char; this.count++; if (this.count>80) { this.count=0; this.line++; this.text+="<br>"; } this.paint(); } } function editor_paint() { txt.innerHTML=this.text; } function editor() { this.text=""; this.cursor_start=0; this.cursor_end=0; this.insert=1; this.count=0; this.line=1; this.input_char=editor_input_char; this.paint=editor_paint; } var edit=new editor(); </script> <style type="text/css"> <!-- td { font-size: 12px} --> </style> </head> <body bgcolor="#FFFFCC" text="#000000" onkeydown="javascript:edit.input_char(event.keyCode,1);"> <table width="760" height="460" border="1" cellspacing="0" cellpadding="0" bgcolor="#FFFFFF"> <tr> <td valign="top" id="txt"> </td> </tr> </table> </body> </html> |