【日常】JS练习题(二)

今天在做一个练习题的时候遇到一个小问题,

实现一个重置按钮,当点击按钮时,提示 “是否要重新填写” ,如果用户点击确定,则重置表达,否则不做处理。

看到题目时我邪魅一笑:so easy,但是在test时,突然发现不管我点击的是确定还是取消,这丫全都给我重置了,各种调试我的绑定函数,无果。
然后开始google解决方案,最终搜索到了一个可行方案。
有两种方案,第一种借助reset按钮,十分精简。
第二种方案,自己实现reset方法
第一种方案代码如下:

<!-- html-->
<!-- 注意:一定要把tipReset()方法return 回来-->
<input type="reset" onclick="return tipReset()" value="重置">
// js
function tipReset() {
	// body...
	return confirm("是否重新填写?");
}

第二种方案代码如下:

<!-- html-->
<!-- 注意:一定要加上return false;-->
<<button onclick="tipReset();return false;">重置</button>
// js
function tipReset() {
	// body...
 	var flag = confirm("是否重新填写?");
 	//alert(flag);
 	if(flag){
 		alert("清除成功!");
		document.getElementById("myForm").reset();
 	}
}

虽然没有搜索到最终原因,但是我猜测是因为触发onclick事件后会默认刷新页面,而如果在onclick事件中返回false值,就阻止了onclick的触发,因此也阻止了界面刷新。
而一开始我在tipReset()函数里return false值,只是对于这个函数的阻止,如果没有在onclick中return tipReset(),虽然onclick事件接受到了tipReset()返回的false值,但实际上onclick事件的返回值并不会被影响,所以onclick依然会执行。

一步一步的成长~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值