- 浏览: 109409 次
- 性别:
- 来自: 上海
文章分类
最新评论
-
布莱恩丹尼斯:
表示这个方法也不行
phpMyAdmin 用户名和密码(转载) -
LYH0323:
htmlentities和htmlspecialchars的区别(转载) -
rbscau:
我用的是Sqlserver 2008 装了DB然后JBoss就 ...
ReportingServicesService占用8080端口
表单
一、
1.获取表单
var oForm=document.getElementById("formId");
或者 var oForm=document.forms[0];
或者 var oForm=document.forms["formName"];
获取字段
oForm.elements[0]
oForm.elements["name"]
oForm.name
document.getElementById("id")
disabled\form\blur\focus
2.聚焦表单中第一个字段
(1)多数情况下用document.forms[0].elements[0].focus();就可以。但是如果表单中有字段是隐藏的就不能这样写,因为隐藏字段不支持focus方法,会报错。
所以应该用一下方法来实现:
首先判断是否存在一个表单,然后再遍历表单中所有字段,直到找到第一个不是隐藏字段
var FormUtil=new Object();
FormUtil.focusOnFirst=function(){
if(document.forms.length>0){
for(var i=0;i<document.forms[0].elements.length;i++){
var oField=document.form[0].elements[i];
if(oField.type!="hidden"){
oField.focus();
return;
}
}
}
}
(2)仅提交一次表单
方法不使用表单提交submit按钮,使用一般按钮
<input type="button" value="submit" onclick="this.disabled=true;this.form.submit()"></input>
(3)选择文本
用select()方法,但在调用之前需要首先获得焦点focus()
function selectText(){
var oInput=document.getElementById("input1");
oInput.focus();
oInput.select();
}
blur事件,仅当失去焦点时触发
change事件,文本改变且失去焦点触发,
select事件,选择文本时触发
(4)自动选择文本 <onfocus事件>
<input type="text" onfocus="this.select()" />
<textarea onfocus="this.select()" />
还可以用函数表示
function selectText(){
var colInputs=document.getElementByTagName("input");
var colTextArea=document.getElementByTagName("textarea");
for(var i=0;i<colInputs.length;i++){
if(colInputs[i].type=="text"||colInputs[i].type=="password"){
colInputs[i].onfocus=function(){
this.select();
}
}
}
for(var i=0;i<colTextArea.length;i++){
colTextArea[i].onfocus=function(){
this.select();
}
}
}
(5)当输入框超过一定长度时常常需要自动切换到下一个文本<onkeyup事件>
<input type="text" maxlength="4" onkeyup="tabFoward(this)" />
function tabFoward(oTextBox){
var oForm=oTextBox.form;
if(oForm.elements[oForm.elements.length-1]!=oTextBox && oTextBox.value.length==oTextBox.getAttribute("maxlength")){
for(var i=0;i<oForm.elements.length;i++){
if(oForm.elements[i]==oTextBox){
for(var j=i+1;j<oForm.elements.length;j++){
if(oForm.elements[j].type!="hidden"){
oForm.elements[i].focus();
return;
}
}
}
}
}
}
(6)限制textarea的输入长度(给输入框添加maxlength属性)<onkeypress事件>
<textarea rows="10" cols="10" maxlangth="20" onkeypress="return isNotMax()" />
function isNotMax(oTextArea){
return oTextArea.value.length!=oTextArea.getAttribute("maxlength");
//尽管textarea中没有maxlength属性,但让可以用getAttribute来获取
}
(7)阻止无效字符的输入(给输入框添加invalidchars属性)<onkeypress事件>
<input type="text" invalidchars="123456789" onkeypress="return blockChars(this,event);" />
function blockChars(oTextbox,oEvent){
//格式化事件对象
oEvent=EventUtil.formatEvent(oEvent);
var sInvalidChars=oTextbox.getAttribute("invalidchars");
//用事件的charCode特性和String.fromCharCode()取出将被输入到文本中的字符
var sChar=String.fromCharCode(oEvent.charCode);
//判断所输入的字符是否存在无效字符
var bIsValidChar=sInvalidChars.indexOf(sChar)==-1;
//
return bIsValidChar || oEvent.ctrlKey;
}
(8)允许输入有效字符(给输入框添加validchars属性)<onkeypress事件>
<input type="text" invalidchars="123456789" onkeypress="return allowChars(this,event);" />
function allowChars(oTextbox,oEvent){
oEvent=EventUtil.formatEvent(oEvent);
var sInvalidChars=oTextbox.getAttribute("validchars");
var sChar=String.fromCharCode(oEvent.charCode);
var bIsValidChar=sInvalidChars.indexOf(sChar)>-1;
return bIsValidChar || oEvent.ctrlKey;
}
(9)粘贴的文本验证
禁止右键粘贴:
IE:onpaste="return false;"
<input type="text" invalidchars="123456789" onkeypress="return allowChars(this,event);" onpaste="return false;"/>
DOM:onpaste="return false;" oncontextmenu="return false;"
<input type="text" invalidchars="123456789" onkeypress="return allowChars(this,event);" onpaste="return false;" oncontextmenu="return false;"/>
禁止快捷键Ctrl+V粘贴,这个问题实际上就是触发keypress出现问题,所以只需要修改blockChars()\allowChars()方法即可
<input type="text" invalidchars="123456789" onkeypress="return allowChars(this,event,true);" onpaste="return false;" oncontextmenu="return false;"/>
function blockChars(oTextbox,oEvent,bBlockPaste){
oEvent=EventUtil.formatEvent(oEvent);
var sInvalidChars=oTextbox.getAttribute("invalidchars");
var sChar=String.fromCharCode(oEvent.charCode);
var bIsValidChar=sInvalidChars.indexOf(sChar)==-1;
if(bBlockPaste){
return bIsValidChar && !(oEvent.ctrlKey && sChar=="v")
}else{
return bIsValidChar || oEvent.ctrlKey;
}
}
function allowChars(oTextbox,oEvent,bBlockPaste){
oEvent=EventUtil.formatEvent(oEvent);
var sInvalidChars=oTextbox.getAttribute("validchars");
var sChar=String.fromCharCode(oEvent.charCode);
var bIsValidChar=sInvalidChars.indexOf(sChar)>-1;
if(bBlockPaste){
return bIsValidChar && !(oEvent.ctrlKey && sChar=="v")
}else{
return bIsValidChar || oEvent.ctrlKey;
}
}
(10)失去焦点时验证
与blockChars()一起用的方法:
<input type="text" invalidchars="123456789" onkeypress="return blockChars(this,event);" onblur="blurBlock(this)"/>
function blurBlock(oTextbox){
var sInvalidChars=oTextbox.getAttribute("invalidchars");
var arrInvalidChars=sInvalidChars.aplit("");//把无效字符串拆分成数组
for(var i=0;i<arrInvalidChars.length;i++){//循环验证是否存在无效字符
if(oTextbox.value.indexOf(arrInvalidChars[i])>-1){
alert("Character '"+arrInvalidChars[i]+"' not allowed!");
oTextbox.focus();
oTextbox.select();
return;
}
}
}
与blockChars()一起用的方法:
<input type="text" invalidchars="123456789" onkeypress="return blockChars(this,event);" onblur="blurAllow(this)"/>
function blurAllow(oTextbox){
var sInvalidChars=oTextbox.getAttribute("invalidchars");
var arrInvalidChars=sInvalidChars.aplit("");//把无效字符串拆分成数组
for(var i=0;i<arrInvalidChars.length;i++){//循环验证是否存在无效字符
if(oTextbox.value.indexOf(arrInvalidChars[i])==-1){
alert("Character '"+arrInvalidChars[i]+"' not allowed!");
oTextbox.focus();
oTextbox.select();
return;
}
}
}
一、
1.获取表单
var oForm=document.getElementById("formId");
或者 var oForm=document.forms[0];
或者 var oForm=document.forms["formName"];
获取字段
oForm.elements[0]
oForm.elements["name"]
oForm.name
document.getElementById("id")
disabled\form\blur\focus
2.聚焦表单中第一个字段
(1)多数情况下用document.forms[0].elements[0].focus();就可以。但是如果表单中有字段是隐藏的就不能这样写,因为隐藏字段不支持focus方法,会报错。
所以应该用一下方法来实现:
首先判断是否存在一个表单,然后再遍历表单中所有字段,直到找到第一个不是隐藏字段
var FormUtil=new Object();
FormUtil.focusOnFirst=function(){
if(document.forms.length>0){
for(var i=0;i<document.forms[0].elements.length;i++){
var oField=document.form[0].elements[i];
if(oField.type!="hidden"){
oField.focus();
return;
}
}
}
}
(2)仅提交一次表单
方法不使用表单提交submit按钮,使用一般按钮
<input type="button" value="submit" onclick="this.disabled=true;this.form.submit()"></input>
(3)选择文本
用select()方法,但在调用之前需要首先获得焦点focus()
function selectText(){
var oInput=document.getElementById("input1");
oInput.focus();
oInput.select();
}
blur事件,仅当失去焦点时触发
change事件,文本改变且失去焦点触发,
select事件,选择文本时触发
(4)自动选择文本 <onfocus事件>
<input type="text" onfocus="this.select()" />
<textarea onfocus="this.select()" />
还可以用函数表示
function selectText(){
var colInputs=document.getElementByTagName("input");
var colTextArea=document.getElementByTagName("textarea");
for(var i=0;i<colInputs.length;i++){
if(colInputs[i].type=="text"||colInputs[i].type=="password"){
colInputs[i].onfocus=function(){
this.select();
}
}
}
for(var i=0;i<colTextArea.length;i++){
colTextArea[i].onfocus=function(){
this.select();
}
}
}
(5)当输入框超过一定长度时常常需要自动切换到下一个文本<onkeyup事件>
<input type="text" maxlength="4" onkeyup="tabFoward(this)" />
function tabFoward(oTextBox){
var oForm=oTextBox.form;
if(oForm.elements[oForm.elements.length-1]!=oTextBox && oTextBox.value.length==oTextBox.getAttribute("maxlength")){
for(var i=0;i<oForm.elements.length;i++){
if(oForm.elements[i]==oTextBox){
for(var j=i+1;j<oForm.elements.length;j++){
if(oForm.elements[j].type!="hidden"){
oForm.elements[i].focus();
return;
}
}
}
}
}
}
(6)限制textarea的输入长度(给输入框添加maxlength属性)<onkeypress事件>
<textarea rows="10" cols="10" maxlangth="20" onkeypress="return isNotMax()" />
function isNotMax(oTextArea){
return oTextArea.value.length!=oTextArea.getAttribute("maxlength");
//尽管textarea中没有maxlength属性,但让可以用getAttribute来获取
}
(7)阻止无效字符的输入(给输入框添加invalidchars属性)<onkeypress事件>
<input type="text" invalidchars="123456789" onkeypress="return blockChars(this,event);" />
function blockChars(oTextbox,oEvent){
//格式化事件对象
oEvent=EventUtil.formatEvent(oEvent);
var sInvalidChars=oTextbox.getAttribute("invalidchars");
//用事件的charCode特性和String.fromCharCode()取出将被输入到文本中的字符
var sChar=String.fromCharCode(oEvent.charCode);
//判断所输入的字符是否存在无效字符
var bIsValidChar=sInvalidChars.indexOf(sChar)==-1;
//
return bIsValidChar || oEvent.ctrlKey;
}
(8)允许输入有效字符(给输入框添加validchars属性)<onkeypress事件>
<input type="text" invalidchars="123456789" onkeypress="return allowChars(this,event);" />
function allowChars(oTextbox,oEvent){
oEvent=EventUtil.formatEvent(oEvent);
var sInvalidChars=oTextbox.getAttribute("validchars");
var sChar=String.fromCharCode(oEvent.charCode);
var bIsValidChar=sInvalidChars.indexOf(sChar)>-1;
return bIsValidChar || oEvent.ctrlKey;
}
(9)粘贴的文本验证
禁止右键粘贴:
IE:onpaste="return false;"
<input type="text" invalidchars="123456789" onkeypress="return allowChars(this,event);" onpaste="return false;"/>
DOM:onpaste="return false;" oncontextmenu="return false;"
<input type="text" invalidchars="123456789" onkeypress="return allowChars(this,event);" onpaste="return false;" oncontextmenu="return false;"/>
禁止快捷键Ctrl+V粘贴,这个问题实际上就是触发keypress出现问题,所以只需要修改blockChars()\allowChars()方法即可
<input type="text" invalidchars="123456789" onkeypress="return allowChars(this,event,true);" onpaste="return false;" oncontextmenu="return false;"/>
function blockChars(oTextbox,oEvent,bBlockPaste){
oEvent=EventUtil.formatEvent(oEvent);
var sInvalidChars=oTextbox.getAttribute("invalidchars");
var sChar=String.fromCharCode(oEvent.charCode);
var bIsValidChar=sInvalidChars.indexOf(sChar)==-1;
if(bBlockPaste){
return bIsValidChar && !(oEvent.ctrlKey && sChar=="v")
}else{
return bIsValidChar || oEvent.ctrlKey;
}
}
function allowChars(oTextbox,oEvent,bBlockPaste){
oEvent=EventUtil.formatEvent(oEvent);
var sInvalidChars=oTextbox.getAttribute("validchars");
var sChar=String.fromCharCode(oEvent.charCode);
var bIsValidChar=sInvalidChars.indexOf(sChar)>-1;
if(bBlockPaste){
return bIsValidChar && !(oEvent.ctrlKey && sChar=="v")
}else{
return bIsValidChar || oEvent.ctrlKey;
}
}
(10)失去焦点时验证
与blockChars()一起用的方法:
<input type="text" invalidchars="123456789" onkeypress="return blockChars(this,event);" onblur="blurBlock(this)"/>
function blurBlock(oTextbox){
var sInvalidChars=oTextbox.getAttribute("invalidchars");
var arrInvalidChars=sInvalidChars.aplit("");//把无效字符串拆分成数组
for(var i=0;i<arrInvalidChars.length;i++){//循环验证是否存在无效字符
if(oTextbox.value.indexOf(arrInvalidChars[i])>-1){
alert("Character '"+arrInvalidChars[i]+"' not allowed!");
oTextbox.focus();
oTextbox.select();
return;
}
}
}
与blockChars()一起用的方法:
<input type="text" invalidchars="123456789" onkeypress="return blockChars(this,event);" onblur="blurAllow(this)"/>
function blurAllow(oTextbox){
var sInvalidChars=oTextbox.getAttribute("invalidchars");
var arrInvalidChars=sInvalidChars.aplit("");//把无效字符串拆分成数组
for(var i=0;i<arrInvalidChars.length;i++){//循环验证是否存在无效字符
if(oTextbox.value.indexOf(arrInvalidChars[i])==-1){
alert("Character '"+arrInvalidChars[i]+"' not allowed!");
oTextbox.focus();
oTextbox.select();
return;
}
}
}
发表评论
-
javascript判断只能输入整数和小数
2013-05-06 11:23 2735function clearNoNum(obj){ ... -
简单ajax应用,个人参考笔记
2011-12-22 16:33 1194案例一: ajax.html <?xml versi ... -
javascript 表单验证(二)
2011-10-25 19:25 849表单验证(二) 一、列表框和组合框 1.访问选项 HTML D ... -
JavaScript 表单操作
2011-10-24 08:29 0/* 表单 一、 1.获取表单 var oForm=docum ... -
JavaScript事件
2011-10-24 00:08 1061[size=x-small][size=small]第九章 ... -
DOM高级
2011-10-24 00:05 1074// JavaScript Document function ... -
JavaScript事件
2011-10-23 18:32 0[size=x-small][size=small]第九章 ... -
常用正则表达式
2011-10-23 12:18 773正则表达式用于字 ... -
信用卡验证
2011-10-23 12:13 920验证信用卡用到Luhn算法。 Luhn算法有三步: 1.从卡 ... -
正则表达式-----笔记
2011-10-23 11:09 1081第七章 正则表达式 一 ... -
正则表达式-----反向引用、前瞻、边界
2011-10-23 10:06 913正则表达式-----反向引用 http://xuedong. ... -
正则表达式----平衡组、捕获组、非捕获组
2011-10-23 10:04 2210正则表达式----平衡组 请参考 http://xuedo ... -
DOM基础
2011-10-22 22:11 826第六章 DOM基础 一、使用DOM 1.获取html对象 n ... -
BOM 札记
2011-10-22 21:30 835第五章 浏览器中的JavaScript 一、引用外部文件的 ...
相关推荐
本文将深入探讨"javascript表单验证方式一",介绍如何利用JavaScript进行表单验证,确保用户输入的数据符合预设规则,提高用户体验,同时也减轻了服务器端的压力。 首先,表单验证的基本目标是检查用户在HTML表单中...
比较实用的javascript做的表单验证,验证的表单域包括用户名、密码、密码确认、密码提示问题、邮箱、手机号码、身份证。表单域基本通过获得焦点显示提示信息,失去焦点进行验证,还有提交表单验证。提交表单先进行...
高级的javascript表单验证, 正则及常用验证 制作带关闭按钮的浮动窗口 制作全选全不选效果效果 DIV提示效果的表单验证
总的来说,"javascript表单验证器三方库.zip" 提供了一个强大的工具,用于处理JavaScript表单验证,它具有可配置性、递归数据验证等特性,是开发高效、健壮的Web应用的重要辅助工具。无论是初学者还是经验丰富的...
6. **表单验证**:这个插件提供了强大的验证功能,能自动检查用户输入的数据是否符合预设规则,如电子邮件格式、手机号码格式等。通过使用代码示例,开发者可以轻松集成和自定义验证逻辑。 在实际应用中,开发者会...
这个"JavaScript表单验证模板"是一个实用的工具,适合初学者学习和快速实现表单数据验证功能。表单验证是确保用户输入符合特定规则的关键步骤,它可以防止无效数据提交到服务器,提高用户体验,并减少服务器端处理...
本资源"基于JavaScript的表单验证.zip"提供了一种使用JavaScript进行表单验证的方法,涵盖了HTML、CSS、JavaScript以及正则表达式等多个关键技术领域。 首先,HTML(超文本标记语言)是构建网页的基础,用于定义...
实验报告的标题“JavaScript程序设计——页面设置与表单验证实验报告.docx”涉及的核心是JavaScript编程中的两个关键领域:页面设置和表单验证。在Web开发中,JavaScript是一种常用的客户端脚本语言,用于增强用户的...
在网页开发中,表单验证是一项非常重要的任务,它确保用户输入的数据符合预期的格式,以提高数据质量并减少服务器端的压力。JavaScript 是一种常用的客户端脚本语言,它可以直接在用户的浏览器上运行,用于实现表单...
"javascript表单正则验证自定义提示"这一主题聚焦于利用正则表达式(Regular Expressions)进行表单验证,并通过自定义提示来优化用户交互。 正则表达式是一种强大的文本处理工具,它可以用来匹配、查找、替换和...
"JavaScript表单验证控制代码大全"是一个集成了多种表单验证技术和策略的资源集合,帮助开发者有效地确保用户输入的数据质量和安全性。下面我们将深入探讨这个主题,了解JavaScript如何对表单数据进行验证以及常见的...
"JavaScript表单验证大全"这个主题涵盖了许多关于如何使用JavaScript有效地验证用户输入的重要概念。表单验证是确保用户提交的数据符合预设规则的关键步骤,它能防止无效数据进入数据库,提升用户体验,并减少服务器...
JavaScript作为一种广泛使用的客户端脚本语言,能够高效地处理表单验证任务。它可以检测用户的输入是否符合预期的格式和规则,及时反馈错误信息给用户,从而避免无效的数据提交到服务器端。 #### 表单验证的基本...
"强大JavaScript表单验证"这个主题旨在教你如何有效地利用JavaScript来确保用户提交的数据符合预期的格式和规则,从而提高网站的安全性和用户体验。 1. **表单验证的重要性**:在网页上,表单用于收集用户的个人...
一个基本的JavaScript表单验证类可能包含以下几个部分: 1. 构造函数:接收表单元素或表单ID作为参数,初始化验证规则。 2. 验证方法:每个验证方法对应一种规则,如isEmpty、isEmail等。 3. 添加规则方法:允许...
JavaScript 表单验证是网页开发中的重要一环,它确保用户在提交数据前输入的数据符合预设的规则,从而提高用户体验并减少服务器端...总之,JavaScript表单验证是构建交互性强、用户体验良好的Web应用的关键技术之一。
首先,JavaScript表单验证的基本步骤包括: 1. **获取表单元素**:通过`document.getElementById`或`document.querySelector`等方法获取表单元素,例如`<input>`、`<select>`和`<textarea>`等。 2. **添加事件监听...
一、JavaScript表单验证的重要性 1. 提高用户体验:通过实时验证,用户可以立即得知输入是否有效,无需等待服务器响应,减少了用户的等待时间。 2. 减轻服务器压力:如果所有验证都由服务器完成,会增加不必要的...
经典javascript表单验证
JavaScript是一种广泛应用于...总的来说,Validator v1.05是一个实用的JavaScript库,为Web开发人员提供了方便的工具来管理表单验证。通过理解和运用这个库,可以创建更健壮、用户友好的Web表单,提升用户的交互体验。