点击button触发onclick事件判空后依旧自动跳转

Posted chenyangsocool

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了点击button触发onclick事件判空后依旧自动跳转相关的知识,希望对你有一定的参考价值。

这是一个前端的问题。

 

其中判断字符串为空的脚本代码是这样的:

var remark = $("#Remark").val();
//判空。注意:var reg = /空格/g;
var reg = / /g;
var tmp = remark.replace(reg, "");

先把所有空格去除,通过判断tmp是否为空来判断文本框是否为空。

 

问题是这样的:我点击button后,触发js脚本判断input框是否为空,如果为空就提示出错。否则提交表单。

结果是这样的:我敲回车后,尽管内容为空,也正确判断了内容为空,但是判断过后依旧会进行表单提交操作。

问题原因:在页面上有<form action=""></form>标签,所以当点击后,首先会进行js脚本,执行完成后依旧会进行form表单提交。

解决方案:删除<form action=""></form>标签就不会自动跳转了。

 

然后解决后,后来用同样的方法对textarea进行判断出错。

 

问题是这样的:我点击button后,触发js脚本判断textarea框是否为空,如果为空就提示出错。否则提交表单。

结果是这样的:我敲回车后,尽管没有输入任何文字,但是无法判断内容为空,于是导致直接提交表单。

问题原因:回车也是字符,所以我只替换了空格却没有替换回车符,所以判断不为空,直接提交了表单。

解决方案:多添加一个替换操作就可以了。

reg = /\n/g;
tmp = remark.replace(reg, "");

 

以上是关于点击button触发onclick事件判空后依旧自动跳转的主要内容,如果未能解决你的问题,请参考以下文章

如何让一个按钮自动触发,自动执行onclick鼠标单击事件. 默认已点击.

我的button按钮的onclick事件调用JS里的方法怎么不触发

如何让一个按钮自动触发,自动执行onclick鼠标单击事件. 默认已点击.

屏蔽Enter触发的事件

JavaScript点击事件-一个按钮触发另一个按钮

JavaScript点击事件-一个按钮触发另一个按钮