zoukankan      html  css  js  c++  java
  • onsubmit阻止表单提交

    在实际开发中往往会遇到检查表单数据的合法性,如果数据不合法,就不让其提交。

    <!DOCTYPE html>
    <html>
    <head>
        <meta charset="utf-8"> 
        <title>Bootstrap 实例 - 提交表单验证</title>
        <link rel="stylesheet" href="http://apps.bdimg.com/libs/bootstrap/3.3.0/css/bootstrap.min.css">  
        <script src="http://apps.bdimg.com/libs/jquery/2.1.1/jquery.min.js"></script>
        <script src="http://apps.bdimg.com/libs/bootstrap/3.3.0/js/bootstrap.min.js"></script>
    </head>
    
    <script language="javascript">
    //--->
    function checksubmit()
    {
      
              // var input_data = $("#form1").serialize();
              var data_arr = $("#form1").serializeArray();
              $.each(data_arr, function(i, val){
    
                   //  alert(val);  //返回对象
                   // alert(i);
                   //  alert(val.name);  // 返回数组元素名字
                   // alert(val.value);     // 返回数组元素的值
    
                if(val.name == "email")
                {
                    if(val.value == "")
                    {
                      alert("邮件不能为空!");
                      $("#email").focus();
                      return false;
                    }
                   
                }
    
                if(val.name == "password")
                {
                    if(val.value == "")
                    {
                      alert("PWD不能为空!");
                      $("#pwd").focus();
                      return false;
                    }
                   
                }
    
              });
    
    
              return false;
            
             
    }
    //--->
    </script>
    
    <body>
    <br/>
    <br/>
    <div class="container">
        <div class="row clearfix">
            <div class="col-md-12 column">
                <form class="form-horizontal" role="form" id="form1" method="post" action="#" onsubmit="return checksubmit()">
                    <div class="form-group">
                         <label for="inputEmail3" class="col-sm-2 control-label">Email</label>
                        <div class="col-sm-10">
                            <input type="email" name="email" class="form-control" id="email" />
                        </div>
                    </div>
                    <div class="form-group">
                         <label for="inputPassword3" class="col-sm-2 control-label">Password</label>
                        <div class="col-sm-10">
                            <input type="password" name="password" class="form-control" id="pwd" />
                        </div>
                    </div>
                    <div class="form-group">
                        <div class="col-sm-offset-2 col-sm-10">
                            <div class="checkbox">
                                 <label><input type="checkbox" />Remember me</label>
                            </div>
                        </div>
                    </div>
                    <div class="form-group">
                        <div class="col-sm-offset-2 col-sm-10">
                             <button type="submit" class="btn btn-default">Sign in</button>
                        </div>
                    </div>
                </form>
            </div>
        </div>
    </div>
    
    </body>
    </html>

    代码很简单。

    clipboard.png

    注意以下几点:

    1.<form onsubmit="return false">
    其中,将false换成一个检验输入是否合法的函数,该函数返回false或true,则可以在函数返回false的时候阻止表单提交。

    2.onsubmit="return checksubmit()" 这里的return不能省掉。

    3.checksubmit()函数里面的return true;可以省去,因为默认是返回true;

    一个简单的测试页面:

    <!DOCTYPE html>
    <html>
    <head>
        <meta charset="utf-8">
        <title>获取用户Token</title>
        <link rel="stylesheet" href="http://cdn.static.runoob.com/libs/bootstrap/3.3.7/css/bootstrap.min.css">
        <script src="http://cdn.static.runoob.com/libs/jquery/2.1.1/jquery.min.js"></script>
        <script src="http://cdn.static.runoob.com/libs/bootstrap/3.3.7/js/bootstrap.min.js"></script>
    </head>
    <script language="javascript">
        //--->
        function checksubmit() {
    
            // var input_data = $("#form1").serialize();
            var user_id = $("#name").val();
            if(user_id < 1){
                alert("用户ID不能为空!");
                $("#name").focus();
                return false;
            }
    
        }
    </script>
    <h1>获取TOKEN</h1>
    <body style="margin:60px;">
    
    <form role="form" method="get" action="get_app_user_token.php" onsubmit="return checksubmit()">
        <div class="form-group">
            <label for="name">用户ID</label>
            <input type="text" class="form-control" name="user_id" id="name"
                   placeholder="请输入用户ID">
        </div>
    
        <button type="submit" class="btn btn-default">提交</button>
    </form>
    
    <?php
    
    $user_id = (int)$_GET['user_id'];
    
    if($user_id > 0)
    {
        $sql = "select * from user_tbl where user_id = {$user_id} limit 0,10";
        $ret =  db_query($sql);
    
        if(empty($ret))
        {
            dump('没有该用户的设备Token记录!');
        }else
        {
            dump($ret);
        }
    
    }
    
    ?>
    
    </body>
    </html>

    clipboard.png

  • 相关阅读:
    JAVA基础--函数和数组03
    JAVA基础--流程控制语句02
    xampp环境下,配置Zend Studio调试php(XDebug) 转摘:http://www.cnblogs.com/tuyithief/archive/2011/06/02/2068431.html
    mysql修改root密码和设置权限 转摘:http://www.cnblogs.com/wangs/p/3346767.html
    mysql 备份还原
    Git忽略已经跟踪的文件 转摘:http://blog.csdn.net/huguohuan/article/details/7380349
    adb]ADB server didn't ACK
    java.lang.IllegalAccessError: Class ref in pre-verified class resolved to unexpected implementation getting while running test project?
    Debug your ASP.NET Application while Hosted on IIS
    wireshark 识别http的标准
  • 原文地址:https://www.cnblogs.com/10manongit/p/12930833.html
Copyright © 2011-2022 走看看