阻止<a>标签默认行为

  • 方式一 (通过return false)
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>阻止事件的默认行为</title> <script type="text/javascript">
window.onload = function() {
var a = document.getElementById('mya');
a.onclick = function() {
alert(this.innerHTML);
/*通过return false; 实现阻止了点击a标签后,页面的跳转*/
return false;
}
}
</script>
</head> <body>
<a href="http://www.baidu.com" id="mya">百度一下</a>
</body> </html>
  • 方式二 (通过javascript:; 或者 javascript:void(0);)
<!DOCTYPE html>
<html> <head>
<meta charset="UTF-8">
<title>阻止事件的默认行为</title>
<script type="text/javascript">
window.onload = function() {
var a = document.getElementById('mya');
a.onclick = function() {
alert(this.innerHTML);
}
}
</script>
</head> <body>
<a href="javascript:void(0);" id="mya">百度一下</a> <!--通过javascript:void(0)-->
</body> </html>

表单提交

  • 方式一 submit提交不验证
<form action="/index">
<input type="text" />
<input type="submit" value="提交"/>
</form>
  • 列表项目

阻止表单提交

有2种方式:
第一种:<form>提交事件
第二种:提交按钮

  • <form> 提交事件
// 不推荐,写法不优雅
<form onsubmit="go(event)"></form>
<script>
function go(e){
e.preventDefault();
}
</script>
// 不推荐,因为无法对表单数据进行验证
<form action="/register" method="post" onsubmit="return false;"></form>
// 推荐写法
<form action="/register" method="post">
<input type="text" name="username" placeholder="请输入注册用户名"><br />
<input type="password" name="pwd" placeholder="请输入初始密码"><br />
<input type="password" name="aginpwd" placeholder="请再次输入密码"><br />
<input type="submit" value="注册" class="login_btn">
</form>
<script>
var form = document.forms[0],
submit = document.querySelector(".login_btn"),
inputBtn = document.getElementsByTagName("input"); form.onsubmit = function(e) {
e.preventDefault();
// return false; 也可以阻止表单提交
}
</script>
  • 提交按钮 <input type="submit"/>
// 不推荐,因为无法对表单数据进行验证
<form action="/register" method="post">
<input type="text" name="username" placeholder="请输入注册用户名"><br />
<input type="password" name="pwd" placeholder="请输入初始密码"><br />
<input type="password" name="aginpwd" placeholder="请再次输入密码"><br />
<input type="submit" value="注册" class="login_btn" onclick="return false">
</form>
// 不推荐,写法不优雅
<form action="/register" method="post">
<input type="text" name="username" placeholder="请输入注册用户名"><br />
<input type="password" name="pwd" placeholder="请输入初始密码"><br />
<input type="password" name="aginpwd" placeholder="请再次输入密码"><br />
<input type="submit" value="注册" class="login_btn" onclick="nogo(event);">
</form>
<script>
function nogo(e){
e.preventDefault();
}
</script>
// 推荐写法
<form action="/register" method="post">
<input type="text" name="username" placeholder="请输入注册用户名"><br />
<input type="password" name="pwd" placeholder="请输入初始密码"><br />
<input type="password" name="aginpwd" placeholder="请再次输入密码"><br />
<input type="submit" value="注册" class="login_btn">
</form>
<script>
var form = document.forms[0],
submit = document.querySelector(".login_btn"),
inputBtn = document.getElementsByTagName("input"); submit.onclick = function(e){
e.preventDefault();
// return false; 也可以阻止表单提交
}
</script>
  • 提交按钮 <button>注册</button>
// 不推荐,因为无法对表单数据进行验证
<form action="/register" method="post">
<input type="text" name="username" placeholder="请输入注册用户名"><br />
<input type="password" name="pwd" placeholder="请输入初始密码"><br />
<input type="password" name="aginpwd" placeholder="请再次输入密码"><br />
<button onclick="return false">注册</button>
</form>
// 不推荐,写法不优雅
<form action="/register" method="post">
<input type="text" name="username" placeholder="请输入注册用户名"><br />
<input type="password" name="pwd" placeholder="请输入初始密码"><br />
<input type="password" name="aginpwd" placeholder="请再次输入密码"><br />
<button onclick="nogo(event);">注册</button>
</form>
<script>
function nogo(e){
e.preventDefault();
}
</script>
// 推荐写法
<form action="/register" method="post">
<input type="text" name="username" placeholder="请输入注册用户名"><br />
<input type="password" name="pwd" placeholder="请输入初始密码"><br />
<input type="password" name="aginpwd" placeholder="请再次输入密码"><br />
<button class="login_btn" onclick="nogo(event);">注册</button>
</form>
<script>
var form = document.forms[0],
submit = document.querySelector(".login_btn"),
inputBtn = document.getElementsByTagName("input"); submit.onclick = function(e){
e.preventDefault();
// return false; 也可以阻止表单提交
}
</script>

如何阻止<a>标签默认行为和表单提交的更多相关文章

  1. DWZ框架Ajax无刷新表单提交处理流程

    DWZ框架Ajax无刷新表单提交处理流程是: 1.       ajax表单提交给服务器 2.       服务器返回一个固定格式json结构 3.       js会调函数根据这个json数据做相应 ...

  2. js模拟form表单提交数据, js模拟a标签点击跳转,避开使用window.open引起来的浏览器阻止问题

    js模拟form表单提交数据, js模拟a标签点击跳转,避开使用window.open引起来的浏览器阻止问题 js模拟form表单提交数据源码: /** * js模拟form表单提交 * @param ...

  3. 防止表单提交时刷新页面-阻止form表单的默认提交行为

    最近在写 ajax 提交的时候遇到一个问题,在执行 ajax 提交之后,浏览器页面自动刷新了,主要是没有 由于form 表单的默认提交行为.一下是几种阻止 form 表单默认提交行为的方式. 1.使用 ...

  4. 解决MUI阻止a标签默认跳转事件—方法总结

    用过mui的小伙伴们一定不会陌生,有时候真的很烦mui本身会阻止a标签默认跳转.一般只要用了mui的ui组件,比如头部,底部或者弹框,你就不能在用a标签进行跳转了. 注:项目中引用了mui后,可能也会 ...

  5. form表单提交和阻止

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  6. CSS_简介/语法结构/长度单位/应用方式/标签的样式重置/表单样式重置

    一.CSS简介:  w3c(World Wide Web Consortium):万维网联盟,是规定网页标准的一个组织(叫做Web标准) Web标准:是由w3c和其他标准化组织制定的一系列标准的集合, ...

  7. JQuery阻止表单提交的方法总结 - 使用onsubmit()验证表单并阻止非法提交

    方法1:<form onsubmit="javascript:confirm()"> 方法内返回false阻止表单提交 示例:代码检测textarea内填写的长度,未填 ...

  8. 阻止form表单提交的问题

    阻止form表单提交这种场景可能在生活中,我们经常碰到,而在我们第一印象里面可能我们用return false 去阻止表单默认行为. 但是,有中情况我们用return false 不能阻止表单提交 & ...

  9. vue---阻止默认表单提交的三种方法

    vue在做表单提交的时候,需要用到一些自定义的验证规则,这个时候就需要阻止表单默认的提交方式. 方法一:直接阻止 <form id="form" @submit=" ...

随机推荐

  1. 2019年 Java 课程总结

    Java学习个人感悟: 1.我感觉学习java应该是循环渐进,有始有终,勤奋细心,脚踏实地. java是一门有着阶梯性的一们语言,如果要学习它.我觉得最好还是按照java的学习体系,先学习什么,在学习 ...

  2. 分库分表之后,id 主键如何处理

    基于数据库的实现方案 数据库自增 id 这个就是说你的系统里每次得到一个 id,都是往一个库的一个表里插入一条没什么业务含义的数据,然后获取一个数据库自增的一个 id.拿到这个 id 之后再往对应的分 ...

  3. [转帖]安装prometheus+grafana监控mysql redis kubernetes等

    安装prometheus+grafana监控mysql redis kubernetes等 https://www.cnblogs.com/sfnz/p/6566951.html plug 的模式进行 ...

  4. MGR复制

    CentOS7 配置如下 5.7.22 Group ReplicationMySQL5.7.22安装略   在三台db服务器上面设置/etc/hosts映射,如下:192.168.1.101 mydb ...

  5. Array Product CodeForces - 1042C (细节)

    #include <iostream> #include <sstream> #include <algorithm> #include <cstdio> ...

  6. Asp.net core Identity + identity server + angular + odata + 权限管理

    今天踩了一个坑. 网站发布后看到了一个 error Refused to execute inline script because it violates the following Content ...

  7. 怎样使用 v-on 指令?

    1. Vue 中的 v-on 指令用于绑定 dom 事件 的监听函数. 下面代码实现的是 点击更改文字颜色 的功能. <!DOCTYPE html> <html lang=" ...

  8. 最全MySQL面试题和答案

    Mysql 的存储引擎,myisam和innodb的区别. 答: 1.MyISAM 是非事务的存储引擎,适合用于频繁查询的应用.表锁,不会出现死锁,适合小数据,小并发. 2.innodb是支持事务的存 ...

  9. web登录的session、cookie和token

    为什么会有登录这回事 首先这是因为HTTP是无状态的协议,所谓无状态就是在两次请求之间服务器并不会保存任何的数据,相当于你和一个人说一句话之后他就把你忘掉了.所以,登录就是用某种方法让服务器在多次请求 ...

  10. java ftp retrieveFile 较大文件丢失内容

    今天发现用  如下方法下载一个2.2M的zip文件但是只下载了500K没有下载完全,但是方法  返回的却是true boolean org.apache.commons.net.ftp.FTPClie ...