简要教程

简洁、大方和直观的用户界面是我们最喜欢的网页设计。本文介绍的正是这样的一个设计风格。

如何才能做到页面的简洁大方并且人性化?大多数网站的表单采用文本提示的方法,提示用户哪里填写错了,哪里不正确,但我们应该能做得更好:填写不正确就不显示提交按钮!

HTML结构

JAVASCRIPT:检查输入的文本是否为一个正确的email地址,如果正确,就给表单添加特定的样式,否则不添加,通过css来控制这个样式是否显示按钮。

依赖于jQuery的做法:

$( function( $, window, document, undefined )

{

'use strict';

var form = '.newsletter',

className = 'newsletter--active',

email = 'input[type="email"]';

$( form ).each( function()

{

var $form = $( this ),

$email = $form.find( email ),

val = '';

$email.on( 'keyup.addClassWhenEmail', function()

{

val = $email.val();

$form.toggleClass( className, val != '' && /^([\w-\.]+@([\w-]+\.)+[\w-]{2,12})?$/.test( val ) );

});

});

})( jQuery, window, document );

以上代码兼容IE6以上的浏览器

如果你想关闭这项功能,可以通过关闭名称空间addClassWhenEmail来实现。

$( '.newsletter input[type="email"]' ).off( '.addClassWhenEmail' );

不使用jQuery,纯javascript的做法:

;( function( window, document, undefined )

{

'use strict';

var form = '.newsletter',

className = 'newsletter--active',

email = 'input[type="email"]',

addEventListener = function( element, event, handler )

{

element.addEventListener ? element.addEventListener( event, handler ) : element.attachEvent( 'on' + event, function(){ handler.call( element ); });

},

forEach = function( elements, fn )

{

for( var i = 0; i < elements.length; i++ ) fn( elements[ i ], i );

},

addClass = function( element, className )

{

element.classList ? element.classList.add( className ) : element.className += ' ' + className;

},

removeClass = function( element, className )

{

element.classList ? element.classList.remove( className ) : element.className += element.className.replace( new RegExp( '(^|\\b)' + className.split( ' ' ).join( '|' ) + '(\\b|$)', 'gi' ), ' ' );

};

forEach( document.querySelectorAll( form ), function( $form )

{

var $email = $form.querySelectorAll( email );

if( $email.length )

{

$email = $email[ 0 ];

addEventListener( $email, 'keyup', function()

{

$email.value != '' && /^([\w-\.]+@([\w-]+\.)+[\w-]{2,12})?$/.test( $email.value ) ? addClass( $form, className ) : removeClass( $form, className );

});

}

});

})( window, document );

以上代码兼容IE8+以及所有现代浏览器。

可用参数

这里有三个参数可以用来改变选择器:

var form = '.newsletter', // form selector

className = 'newsletter--active', // class name for form when correct email is entered

email = 'input[type="email"]', // email input field selector

CSS代码js代码用来切换样式,真正显示于隐藏则通过css来实现:

.newsletter:not( .newsletter--active ) input[type='submit']

{

display: none;

}

以上就是为大家分享的jquery验证邮箱格式并显示提交按钮的方法,希望对大家的学习有所帮助。

input验证邮箱 css,jquery验证邮箱格式并显示提交按钮相关推荐

  1. jquery ajax 点击按钮,Jquery ajax调用点击事件提交按钮

    当用户点击一个提交按钮时,我必须构建一个ajax调用,所以我包含了jquery,并且我写了下面的代码(取自jquery文档):Jquery ajax调用点击事件提交按钮 $(document).rea ...

  2. java表单验证手机号码位数,jquery验证手机号码和邮箱地址例子

    //jquery验证邮箱 function checkSubmitEmail(){ if($("#email").val()==""){ $("#co ...

  3. jQuery验证插件

    jQuery验证插件 原文:jQuery验证插件 学习要点: 1.使用 validate.js 插件 2.默认验证规则 3.validate()方法和选项 4.validate.js 其他功能 验证插 ...

  4. jQuery 表单验证设置html(,jquery表单验证

    如何用jquery进行表单验证 (1)所需工具: jQuery.1.8.3.js和jquery.validate.js,百度jquery validate插件即可找到下载 (2)引入js (3)按照插 ...

  5. html注册邮箱格式正则表达式代码,jquery 验证Email邮箱格式的几个例子

    例1,检测邮箱格式,不合格的给出提示,并定位焦点. 代码示例: var search_str = /^[w-.]+@[w-.]+(.w+)+$/; var email_val = $("#E ...

  6. 验证邮箱格式html代码,jquery验证邮箱格式是否正确实例讲解

    我们来看看都有哪些邮箱: 我们如果一个个的邮箱进行判断,显然是不可能的了. -个完整的Internet邮件地址由以下两个部分组成,格式如下:登录名@主机名.域名中间用-个表示"在" ...

  7. jquery验证手机号码、邮箱格式是否正确

    本文为大家介绍下使用jquery验证邮箱.验证手机号码,具体实现思路及代码如下. 复制代码代码如下: //jquery验证邮箱  function checkSubmitEmail() {  if ( ...

  8. jquery中邮箱地址 URL网站地址正则验证实例代码

    jquery中邮箱地址 URL网站地址正则验证实例代码 QQ网站有一个网站举报的功能,看了一些js代码觉得写得很不错,我就拿下来了,下面是一个email验证与url网址验证js代码,分享给大家 ema ...

  9. jquery验证手机号码和邮箱地址例子

    为什么80%的码农都做不了架构师?>>>    //jquery验证邮箱 function checkSubmitEmail(){ if($("#email"). ...

最新文章

  1. Linq To Sql中实现Left Join与Inner Join使用Linq语法与lambda表达式
  2. otsu阈值分割算法原理_大津二值化算法OTSU的理解
  3. Kettle使用_30 作业里使用参数
  4. 小米拒绝权限_小米手机MIUI12真有那么好吗?
  5. 升级nginx,查看已经安装的模块,并隐藏或者修改版本号
  6. java 重写session_关于session的实现:cookie与url重写
  7. 查看某个分区之前所有的数据_腾讯大数据面试真题汇总
  8. 盘点世界上最奇怪的6种编程语言
  9. linux shell脚本关于文件存在与否的判断
  10. 智能爆炸的真实(上)
  11. 最新服务器处理器天梯,2019 最新 至强 Xeon 服务器系列 CPU天梯图
  12. 能够抵御ddos攻击的防火墙
  13. Leecode-动态规划专题训练
  14. 《沈工智校》技术支持
  15. 什么是深拷贝和浅拷贝,如何进行浅拷贝?
  16. java -jar 参数说明
  17. 畜生,想你了*_*发信站: BBS 哈工大紫丁香站
  18. 溪云初起日沉阁 山雨欲来风满楼
  19. CBMI 2022 | 蒸馏细粒度对齐分数以实现高效的图文匹配和检索
  20. UI设计课EDC研究所1期 Part 18/19 -金刚区图标细节

热门文章

  1. 爬虫练习--豆瓣英美剧爬虫
  2. NIOS II 内核使用 之 代码保存FLASH(EPCSX芯片)
  3. 解决在命令行中出现/usr/local/hadoop/libexec/hadoop-functions.sh: 行 1185: dirname: 未找到命令
  4. python语言设计二级教程答案2019_全国计算机等级考试二级教程2019年版——Python语言程序设计参考答案...
  5. 四年级下册计算机有错必改教案,小学四年级下册语文《步行18里》必
  6. 目标追踪(tracking)简介
  7. 【论文笔记】面向机载应用的多传感器图像融合技术综述
  8. 6天移动web开发视频教程_针对Web和移动开发人员的完整视频解决方案
  9. CCF-CSP 201403-1 相反数 (python)
  10. jsp70786体育馆售票门票系统