`
阅读更多
表单
一、
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表单验证方式一

    本文将深入探讨"javascript表单验证方式一",介绍如何利用JavaScript进行表单验证,确保用户输入的数据符合预设规则,提高用户体验,同时也减轻了服务器端的压力。 首先,表单验证的基本目标是检查用户在HTML表单中...

    javascript表单验证 正则表达式验证表单

    比较实用的javascript做的表单验证,验证的表单域包括用户名、密码、密码确认、密码提示问题、邮箱、手机号码、身份证。表单域基本通过获得焦点显示提示信息,失去焦点进行验证,还有提交表单验证。提交表单先进行...

    高级的javascript表单验证

    高级的javascript表单验证, 正则及常用验证 制作带关闭按钮的浮动窗口 制作全选全不选效果效果 DIV提示效果的表单验证

    javascript表单验证器三方库.zip

    总的来说,"javascript表单验证器三方库.zip" 提供了一个强大的工具,用于处理JavaScript表单验证,它具有可配置性、递归数据验证等特性,是开发高效、健壮的Web应用的重要辅助工具。无论是初学者还是经验丰富的...

    javascript表单美化和验证插件

    6. **表单验证**:这个插件提供了强大的验证功能,能自动检查用户输入的数据是否符合预设规则,如电子邮件格式、手机号码格式等。通过使用代码示例,开发者可以轻松集成和自定义验证逻辑。 在实际应用中,开发者会...

    JavaScript表单验证模板

    这个"JavaScript表单验证模板"是一个实用的工具,适合初学者学习和快速实现表单数据验证功能。表单验证是确保用户输入符合特定规则的关键步骤,它可以防止无效数据提交到服务器,提高用户体验,并减少服务器端处理...

    基于JavaScript的表单验证.zip

    本资源"基于JavaScript的表单验证.zip"提供了一种使用JavaScript进行表单验证的方法,涵盖了HTML、CSS、JavaScript以及正则表达式等多个关键技术领域。 首先,HTML(超文本标记语言)是构建网页的基础,用于定义...

    JavaScript程序设计——页面设置与表单验证实验报告.docx

    实验报告的标题“JavaScript程序设计——页面设置与表单验证实验报告.docx”涉及的核心是JavaScript编程中的两个关键领域:页面设置和表单验证。在Web开发中,JavaScript是一种常用的客户端脚本语言,用于增强用户的...

    javascript 表单验证禁止输入中文汉字

    在网页开发中,表单验证是一项非常重要的任务,它确保用户输入的数据符合预期的格式,以提高数据质量并减少服务器端的压力。JavaScript 是一种常用的客户端脚本语言,它可以直接在用户的浏览器上运行,用于实现表单...

    javascript表单正则验证自定义提示

    "javascript表单正则验证自定义提示"这一主题聚焦于利用正则表达式(Regular Expressions)进行表单验证,并通过自定义提示来优化用户交互。 正则表达式是一种强大的文本处理工具,它可以用来匹配、查找、替换和...

    JavaScript表单验证控制代码大全

    "JavaScript表单验证控制代码大全"是一个集成了多种表单验证技术和策略的资源集合,帮助开发者有效地确保用户输入的数据质量和安全性。下面我们将深入探讨这个主题,了解JavaScript如何对表单数据进行验证以及常见的...

    javaScript表单验证大全

    "JavaScript表单验证大全"这个主题涵盖了许多关于如何使用JavaScript有效地验证用户输入的重要概念。表单验证是确保用户提交的数据符合预设规则的关键步骤,它能防止无效数据进入数据库,提升用户体验,并减少服务器...

    使用JavaScript语言进行表单验证

    JavaScript作为一种广泛使用的客户端脚本语言,能够高效地处理表单验证任务。它可以检测用户的输入是否符合预期的格式和规则,及时反馈错误信息给用户,从而避免无效的数据提交到服务器端。 #### 表单验证的基本...

    强大javascript 表单验证

    "强大JavaScript表单验证"这个主题旨在教你如何有效地利用JavaScript来确保用户提交的数据符合预期的格式和规则,从而提高网站的安全性和用户体验。 1. **表单验证的重要性**:在网页上,表单用于收集用户的个人...

    javascript表单验证类

    一个基本的JavaScript表单验证类可能包含以下几个部分: 1. 构造函数:接收表单元素或表单ID作为参数,初始化验证规则。 2. 验证方法:每个验证方法对应一种规则,如isEmpty、isEmail等。 3. 添加规则方法:允许...

    javascript表单验证大全

    JavaScript 表单验证是网页开发中的重要一环,它确保用户在提交数据前输入的数据符合预设的规则,从而提高用户体验并减少服务器端...总之,JavaScript表单验证是构建交互性强、用户体验良好的Web应用的关键技术之一。

    javascript表单验证例子

    首先,JavaScript表单验证的基本步骤包括: 1. **获取表单元素**:通过`document.getElementById`或`document.querySelector`等方法获取表单元素,例如`&lt;input&gt;`、`&lt;select&gt;`和`&lt;textarea&gt;`等。 2. **添加事件监听...

    javascript特效 表单验证

    一、JavaScript表单验证的重要性 1. 提高用户体验:通过实时验证,用户可以立即得知输入是否有效,无需等待服务器响应,减少了用户的等待时间。 2. 减轻服务器压力:如果所有验证都由服务器完成,会增加不必要的...

    经典javascript表单验证

    经典javascript表单验证

    Javascript表单验证控件(Validator v1.05)

    JavaScript是一种广泛应用于...总的来说,Validator v1.05是一个实用的JavaScript库,为Web开发人员提供了方便的工具来管理表单验证。通过理解和运用这个库,可以创建更健壮、用户友好的Web表单,提升用户的交互体验。

Global site tag (gtag.js) - Google Analytics