学习网考试学习资料

Gzu521.com

超级实用的几种表单校验效果收集(3)

Javascript教程   点击:次   发布时间:2007-4-25   【字体: 】   来源:Gzu521.com
Gzu521.com我的学习网

// 出错检验代码~~~~~~  
if(sel.parentelement() != tmp.parentelement()) return;  
tmp.setendpoint(’endtoend’, sel)  
for (var i=0; tmp.text.match(/^[\t]+/g) && i<tmp.text.match(/^[\t]+/g)[0].length; i++) tabs += ’\t’  
sel.text = ’\r\n’+tabs  
sel.select()  
break  
default :  
event.returnvalue = true  
break;  
}  
return;  
}  


function runcode() {  
var str = document.getelementbyid(’txt_main’).value;  
var code_win = window.open(’about:blank’);  
code_win.document.open();  
code_win.document.writeln(’<script>’);  
code_win.document.writeln(’function reporterror(msg,url,line){\nline-=14;\nvar str=’you have found an error as below: \\n\\n’;\nstr+=’err: ’+msg+’ on line: ’+(line);\nalert(str);\nopener.goto(line);\nopener.focus();\nwindow.onerror=null;\nsettimeout(’self.close()’,10);\nreturn true;\n}’);  
code_win.document.writeln(’window.onerror = reporterror;’);  
code_win.document.writeln(’<\/script>’);  
code_win.document.writeln(str);  
code_win.document.close();  
return;  
}  


function savecode() {  
var str = document.getelementbyid(’txt_main’).value;  
var code_win = window.open(’about:blank’,’_blank’,’top=10000’);  
code_win.document.open();  
code_win.document.writeln(str);  
code_win.document.close();  
code_win.document.execcommand(’saveas’,’’,’code.html’);  
code_win.close();  
return;  
}  


function goto(ln) {  
if(!/^\d+$/.test(ln)) return;  
var obj = document.getelementbyid(’txt_main’);  
var rng = obj.createtextrange();  
var arr = obj.value.replace(/\r/, ’’).split(/\n/);  
if(ln>arr.length) ln = arr.length;  
var str_tmp = ’’;  
for(var i=0; i<ln-1; i++) {  
str_tmp += arr[i];  
}  
rng.movestart(’character’,str_tmp.length+1);  
str_tmp = ’’;  
for(i=ln; i<arr.length; i++) {  
str_tmp += arr[i];  
}  
rng.moveend(’character’,-str_tmp.length);  
rng.select();  
return;  
}  

window.onload = function() {document.getelementbyid(’txt_main’).value = ’<script>\nalert(’)\n<\/script>’;}  
</script>  
<body>  
<table width=’600’ class=’list’ border=’1’ bgcolor=’#eeeeee’ bordercolorlight=’#000000’ bordercolordark=’#ffffff’ cellpadding=’0’ cellspacing=’0’>  
<tr bgcolor=’#cccccc’>  
<td colspan=’2’ height=’20’ align=’center’><b>debug textarea</b></td>  
</tr>  
<tr>  
<td colspan=’2’>  
<table width=’95%’ border=’0’ align=’center’ >  
<tr>  
<td align=’center’><br />  
<textarea id=’txt_ln’ name=’content’ rows=’10’ style=’width:40px;overflow:hidden;height:200px;border-right:0px;text-align:right;line-height:14px’ onselectstart=’this.nextsibling.focus();return false’ readonly></textarea><textarea id=’txt_main’ name=’content’ rows=’10’ cols=’80’ onkeydown=’edittab()’ onkeyup=’show_ln()’ onscroll=’show_ln()’ wrap=’off’ style=’overflow:auto;height:200px;padding-left:5px;border-left:0px;line-height:14px’></textarea>  
<script>for(var i=1; i<=20; i++) document.getelementbyid(’txt_ln’).value += i + ’\n’;</script>  
</td>  
</tr>  
<tr>  
<td align=’center’><br />  
<input type=’button’ value=’ 运 行 ’ onclick=’runcode()’ accesskey=’r’>    
<input type=’button’ value=’ 保 存 ’ onclick=’savecode()’ accesskey=’s’>    
<input type=’button’ value=’ 跳 转 ’ onclick=’goto(prompt(’please input the line number’, ’1’))’ accesskey=’g’>    
</td>  
</tr>  
</table>  
</td>  
</tr>  
</table>  
</body>  
</html>   

*************************************************************  

tab键在文本域中的体现   

   

   

程序代码:<script> function edittab() { var code, sel, tmp, r var tabs=’’ event.returnvalue = false sel =event.srcelement.document.selection.createrange() r = event.srcelement.createtextrange() switch (event.keycode) { case (8) : if (!(sel.getclientrects().length > 1)) { event.returnvalue = true return } code = sel.text tmp = sel.duplicate() tmp.movetopoint(r.getboundingclientrect().left, sel.getclientrects()[0].top) sel.setendpoint(’starttostart’, tmp) sel.text = sel.text.replace(/^\t/gm, ’’) code = code.replace(/^\t/gm, ’’).replace(/\r\n/g, ’\r’) r.findtext(code) r.select() break case (9) : if (sel.getclientrects().length > 1) { code = sel.text tmp = sel.duplicate() tmp.movetopoint(r.getboundingclientrect().left, sel.getclientrects()[0].top) sel.setendpoint(’starttostart’, tmp) sel.text = ’\t’+sel.text.replace(/\r\n/g, ’\r\t’) code = code.replace(/\r\n/g, ’\r\t’) r.findtext(code) r.select() } else { sel.text = ’\t’ sel.select() } break case (13) : tmp = sel.duplicate() tmp.movetopoint(r.getboundingclientrect().left, sel.getclientrects()[0].top) tmp.setendpoint(’endtoend’, sel) for (var i=0; tmp.text.match(/^[\t]+/g) && i<tmp.text.match(/^[\t]+/g)[0].length; i++) tabs += ’\t’ sel.text = ’\r\n’+tabs sel.select() break default : event.returnvalue = true break } } </script> <textarea cols=75 rows=20 onkeydown=’edittab()’> <script> alert(’ok’) </script></textarea>   

*************************************************************   

   

   

   

获取input的非value值,而是显示文本值   

   

程序代码:  
<select name=’sss’ onchange=’alert(this.options[this.selectedindex].text)’>  
<option value=’1’>asdf</option>  
<option value=’2’>bbbb</option>  
<option value=’3’>ccc</option>  
</select>   

*************************************************************   

   

   

   

select里的option进行分类列表   

   

程序代码:  
<span style=’position:absolute;border:1px inset #d3d6d9’><select style=’margin:-2px; width:200px’>  
<option selected>------------请选择------------</option>  
<optgroup label=’javascript&vbscript区’>  
<option>原 创  
<option>经 典  
<optgroup label=’后台区’>  
<option>asp&sql  
<option>php&MySQL  
</select></span>   

*************************************************************   

动态添加   

   

程序代码:<form name=’myform’ method=’post’> <select name=’dept_company’ size=’10’ multiple id=’dept_company’ class=’myselect’> <option value=’’>please select...</option> <option value=’a’>aa</option> <option value=’b’>bb</option> <option value=’c’>cc</option> </select><input name=’dept_company_list’ type=’hidden’> <input name=’button’ type=’button’ class=’mybutton’ onclick=’additem(’dept_company’,’dept_company2’)’ value=’添加-->>’> <input name=’button’ type=’button’ class=’mybutton’ onclick=’deleteitem(’dept_company2’,’dept_company’)’ value=’<<--删除’> <select name=’dept_company2’ size=’10’ multiple id=’dept_company2’ class=’myselect’> </select> </form> <script> function additem(fromname,toname){ eval(’var obj1=myform.’+fromname); eval(’var obj2=myform.’+toname); obj1.options[0].selected=false; if(obj1.selectedindex == -1) return false; var tempvalue; var temptext; for(var i=1;i<obj1.length;i++){ //begin from 1 if(obj1.selectedindex == -1)break; tempvalue=obj1.options[obj1.selectedindex].value; temptext=obj1.options[obj1.selectedindex].text; obj1.options[obj1.selectedindex]=null; obj2.add(new option(temptext,tempvalue),0); } } function deleteitem(fromname,toname){ eval(’var obj1=myform.’+fromname); eval(’var obj2=myform.’+toname); if(obj1.selectedindex == -1) return false; var tempvalue; var temptext; for(var i=0;i<obj1.length;i++){ //begin from 0 if(obj1.selectedindex == -1)break; tempvalue=obj1.options[obj1.selectedindex].value; temptext=obj1.options[obj1.selectedindex].text; obj1.options[obj1.selectedindex]=null; obj2.add(new option(temptext,tempvalue),1); //additem index is 1 } } </script>   

*************************************************************   

   

   

上 一 页 下 一 页
4页: 第 [1] [2] [3] [4]

责任编辑:gzu521

网页设计分类
HTML教程
CSS教程
Javascript教程
Dreamweaver教程
FrontPages教程
FireWorks教程
Flash教程
PhotoShop教程
建站知识
分类推荐信息
更多...
大类最新文章
更多...