【网页-JQuery】HTML中关于表单的提交

 https://blog.csdn.net/lvhuiyang/article/details/53192277


总结一下HTML中关于表单的提交,在用户登录的时候一般都是通过表单提交,获取账号密码然后交给后端,目前主要提及三种提交表单的方式:html默认方式和js控制下的两种方式。

1.直接用html的默认方式提交

<form  action="/login" method="post" id="form">
    <input type="text" name="username" class="username" placeholder="请输入您的用户名!">
    <input type="password" name="password" class="password" placeholder="请输入您的用户密码!">
    <input type="submit" class="submit_button" id="submit_button" value="登录">
    <button type="reset" class="reset_button">重置</button>
</form>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

这一种提交方式无话可说,需要注意的是form标签内的 action属性负责提交的地址,method是提交的方式(get/post)。

2. 使用jquery进行控制

有时候我们需要对账号密码的输入进行控制,比如要判断输入框是否为空,为空的话进一步提醒用户。为了方便使用jQuery进行操作,如下:

$(document).ready(function () {
    $("#submit_button").click(function () {
        var username = $('.username').val();
        var password = $('.password').val();
        if (username == '') {
            alert("请输入账号");
            return false;
        }

        else {
            if (password == '') {
                alert("请输入密码");
                return false;
            }
            else
                $('#form').submit();
        }
    });
});
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19

注意一点就是如果不符合要求的话最后要返回false,不然弹出对话框之后还是会提交,关于这一点的原理之后再补,先挖坑。

3.使用ajax进行提交

同样使用jQuery,代码如下

$(document).ready(function () {
    $("#submit_button").click(function () {
         var username = $('.username').val();
          var password = $('.password').val();
          alert(username + ' \n' + password);
          $.post(
                                  '{{ url_for('main.login') }}',
                  {username: username, password: password},
                  function () {
                    window.location.href = 'http://www.baidu.com';});
    });

});
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

注意post方法的格式 $.post(url, data , callback()),使用flask时后端进行的重定向,但是前端页面并没有跳转,原因可能是ajax本身对于页面的控制,或者说ajax的特性并不能使页面进行跳转,解决方法是 callback()函数中可以设置对页面进行跳转。


猜你喜欢

转载自blog.csdn.net/cracklibby/article/details/80013020
今日推荐