【日常】JS练习题(二)

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

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

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



<input type="reset" onclick="return tipReset()" value="重置">
// js
function tipReset() {
	// body...
	return confirm("是否重新填写?");
}

第二种方案代码如下:



<<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依然会执行。

一步一步的成长~

你可能感兴趣的:(日常QvQ)