在html中禁止按钮的默认提交事件

6

在日常开发过程中,不符合条件的数据是不能够存入数据库的,如果全部使用后台来进行验证,这样无疑就会加大服务器的负担,这个时候就需要用到前端来分担一部分后台的负担,当用户提交的数据不符…

在日常开发过程中,不符合条件的数据是不能够存入数据库的,如果全部使用后台来进行验证,这样无疑就会加大服务器的负担,这个时候就需要用到前端来分担一部分后台的负担,当用户提交的数据不符合规范时,不能提交,将按钮的默认提交功能禁用掉。下面提供几种方案:

方案一(通过input框中的type属性动态阻止提交)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8" />
    <title>Document</title>

</head>
<body>
    <form action="" method="get" accept-charset="utf-8">
        <input type="text" name="text" class="text">
        <input type="submit" name="" class="btn" value="提交">

    </form>
</body>
</html>
<script src="https://cdn.bootcss.com/jquery/3.3.1/jquery.min.js"></script>
<!-- 当文本框中的数据为空的时候,不能提交,当不为空的时候,可以提交 -->
<script type="text/javascript">
     $('.btn').click(function(){
        if ($('.text').val()=="") {
            $(this).attr('type',"button")
        }else{
            $(this).attr('type',"submit")
        }
     })
</script>

方案二(与方法一方式相同,不过改变了按钮标签,button的type属性为submit的时候有提交功能,为button的时候就没有提交功能了)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8" />
    <title>Document</title>

</head>
<body>
    <form action="" method="get" accept-charset="utf-8">
        <input type="text" name="text" class="text">
        <button type="submit" name="" class="btn" >提交</button>

    </form>
</body>
</html>
<script src="https://cdn.bootcss.com/jquery/3.3.1/jquery.min.js"></script>
<!-- 当文本框中的数据为空的时候,不能提交,当不为空的时候,可以提交 -->
<script type="text/javascript">
     $('.btn').click(function(){
        if ($('.text').val()=="") {
            $(this).attr('type',"button")
        }else{
            $(this).attr('type',"submit")
        }
     })
</script>

方案三(通过阻止默认事件的方式阻止按钮提交)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8" />
    <title>Document</title>

</head>
<body>
    <form action="" method="get" accept-charset="utf-8">
        <input type="text" name="text" >
        <button type="submit" name="" onclick="aiqianduan(event)" >提交</button>

    </form>
</body>
</html>
<script src="https://cdn.bootcss.com/jquery/3.3.1/jquery.min.js"></script>
<!-- 通过阻止默认事件的方式阻止按钮提交 -->
<script type="text/javascript">
        function  aiqianduan(event){
            event.preventDefault();
        }
</script>

方案四(点击事件返回false阻止用户提交)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8" />
    <title>Document</title>

</head>
<body>
    <form action="" method="get" accept-charset="utf-8">
        <input type="text" name="text" >
        <button type="submit" name="" onclick=" return aiqianduan()" >提交</button>
    </form>
</body>
</html>
<script src="https://cdn.bootcss.com/jquery/3.3.1/jquery.min.js"></script>
<!--
    通过return 返回false来阻止按钮提交
    onclick="return false"
    转化为:
    onclick = "return aiqianduan()"
 -->
<script type="text/javascript">
            function  aiqianduan(){
            return false;
        }
</script>

方案五(使用onsubmit事件阻止按钮提交)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8" />
    <title>Document</title>

</head>
<body>
    <form action="" method="get" accept-charset="utf-8" onsubmit=" return aiqianduan()">
        <input type="text" name="text" >
        <button type="submit" name=""  >提交</button>
    </form>
</body>
</html>
<script src="https://cdn.bootcss.com/jquery/3.3.1/jquery.min.js"></script>
<!--
注意:onsubmit事件阻止按钮提交,需要写在form上,写在别的地方没有效果
 -->
<script type="text/javascript">
            function  aiqianduan(){
            return false;
        }
</script>

作者: huanggr

为您推荐

7

发表评论

电子邮件地址不会被公开。 必填项已用*标注