preventDefault方法阻止浏览器的默认动作
来源:互联网 发布:labview编程样式 编辑:程序博客网 时间:2024/05/29 09:59
在form表单提交的时候,我们通常需要对表单填写的内容进行验证,比如是否为空,格式是否正确之类的检查验证,在前端检查验证通过了才会提交到后端,虽然一般后端也会验证,但为了减轻服务器的压力,会先经过前端验证。所以在点击提交按钮的时候,不能直接提交到后台,而是先验证,如果填写不合格就不提交,都合格了再执行提交动作。
常用的阻止提交有两种方法:
1.直接return false,这个只对DOM1级提交事件有效,对DOM2级事件是无效的;
2.使用事件对象的preventDefault()方法,此方法对DOM1和DOM2级事件都起作用。
常用的阻止提交有两种方法:
1.直接return false,这个只对DOM1级提交事件有效,对DOM2级事件是无效的;
2.使用事件对象的preventDefault()方法,此方法对DOM1和DOM2级事件都起作用。
演示代码如下:
<!DOCTYPE html><html><head><title>阻止浏览器默认动作</title><meta charset="UTF-8"><style>.form_div{width:300px;height:200px;background:#ccc;padding:20px;margin-left:20px;float:left;}</style></head><body><h2>阻止浏览器默认动作</h2><div class="form_div"><form action="./post.php" method="post"><p>用户名:<input type="text" name="username" value="" /></p><p>密码:<input type="password" name="password" value="" /></p><p>邮箱:<input type="text" name="email" value="" /></p><p><input type="submit" value="提交" /></p></form></div><div class="form_div"><form action="./post.php" method="post"><p>用户名:<input type="text" name="username" value="" /></p><p>密码:<input type="password" name="password" value="" /></p><p>邮箱:<input type="text" name="email" value="" /></p><p><input type="submit" value="提交" /></p></form></div><div class="form_div"><form action="./post.php" method="post"><p>用户名:<input type="text" name="username" value="" /></p><p>密码:<input type="password" name="password" value="" /></p><p>邮箱:<input type="text" name="email" value="" /></p><p><input type="submit" value="提交" /></p></form></div><div style="clear:both;"></div></body><script type="text/javascript">//3.验证表单,阻止浏览器默认动作var formtag1 = document.getElementsByTagName('form')[0];formtag1.onsubmit = function(){alert('第1个表单有误');return false;//阻止跳转}var formtag2 = document.getElementsByTagName('form')[1];formtag2.addEventListener('submit',function(){alert('第2个表单有误');return false;//return false;阻止跳转只对DOM1级事件起作用,对DOM2级事件不起作用});var formtag3 = document.getElementsByTagName('form')[2];formtag3.addEventListener('submit',function(e){alert('第3个表单有误');e.preventDefault();//此方法阻止跳转,对DOM1和DOM2级事件都起作用});</script></html>谢谢观看!
阅读全文
0 0
- preventDefault方法阻止浏览器的默认动作
- jquery preventDefault()将会阻止默认方法的执行
- 浏览器的默认行为-------即event.preventDefault()所阻止的行为
- 停止冒泡和阻止浏览器默认行为stopPropagation preventDefault
- JS 兼容浏览器阻止事件冒泡,阻止浏览器默认动作,兼容IE和其他浏览器
- 阻止浏览器的默认行为
- js阻止浏览器默认行为触发的通用方法
- 阻止事件冒泡,阻止默认事件,event.stopPropagation()和event.preventDefault(),return fal的区别
- 阻止浏览器的滚轮的默认冒泡
- LINK - JS: 使用event.preventDefault 阻止表单控件默认提交的行为
- 如何阻止浏览器的默认行为?
- s事件之event.preventDefault()与event.stopPropagation()的阻止默认事件和阻止事件冒泡的用法
- 阻止冒泡的兼容性写法,以及阻止浏览器默认事件
- 阻止浏览器默认行为
- JS&禁用超链接&e.preventDefault(); 阻止事件默认行为
- 浏览器兼容性:停止事件冒泡和阻止浏览器的默认
- 阻止冒泡和阻止浏览器默认行为
- JavaScript阻止浏览器默认操作
- 2017-11-16总结
- 【西普实验吧】奖券
- 【拜小白opencv】36-形态学滤波1——腐蚀
- SQL Server2008 学习之(六) :视图的创建、修改等基本操作
- texStudio 划红线报错
- preventDefault方法阻止浏览器的默认动作
- Mybatis代理对象的生成
- 不要对数组进行多态
- Maven中Spring-Data-Redis存储对象(redisTemplate)
- 《不负韶华》
- 5KPlayer(高清视频播放器)官方正式版V4.6.0.0下载 | 含5kplayer系统关联方法
- c++ 一块内存转为二维数组
- 2017 ACM Jordanian Collegiate Programming Contest I(Counting Votes-特征值)
- 三.m2eclispe插件配置及其使用