首页 > 编程语言 > 详细

如何通过纯javascript实现表单提交

时间:2019-11-30 17:31:37      阅读:56      评论:0      收藏:0      [点我收藏+]

通常,如果是POST方法,一般使用vuejs+axios,或使用Jquery实现表单提交。有些地方,我想使用纯JS实现,比方简单的登陆跳转。话不多说,看原代码,

laravel中的HTML部分,如果不是laravel,去掉 {{csrf_field()}}这一行即可

<form class="form-signin" id="myform">
    {{csrf_field()}}            
    .........此处省略若干......
    <h2 class="form-signin-heading">请登录</h2>            
    <label for="inputName" class="sr-only">用户名</label>
    <input name="name" id="inputName" class="form-control" placeholder="Login Name / 登陆名" required autofocus="" type="text">
    <label for="inputPassword" class="sr-only">密码</label>
    <input name="password" value="" id="inputPassword" class="form-control" placeholder="Password / 密码" required type="password">
    <button class="btn btn-lg btn-primary btn-block" type="submit">登陆</button>
</form>

题外话:如果是正常的表单提交,不使用JS,一般第一行得这样写

<form class="form-signin" id="myform" method="POST" action="/admin/login">

这里因为使用JS,所以删除了method="POST" action="/admin/login" 跳转及方法信息。

回归正题,再看JS

<script type="text/javascript">
    //拿到form
    var form = document.getElementById("myform")

    function submitFormData(){
        var myFD = new FormData(form)

        // 这里可以对form进行操作,使用ajax XMLHttpRequest,axios等发送
        console.dir(myFD)        
        console.dir(form)

        alert("submitted")
    }

    form.addEventListener("submit", function (event) {      
        event.preventDefault();   // 取消按键的原始提交行为
        submitFormData();         //启动监听提交按钮
    });

</script>

相信很多人在刚接触前端或者中期时候总会遇到一些问题及瓶颈期,如学了一段时间没有方向感或者坚持不下去一个人学习枯燥乏味有问题也不知道怎么解决,对此我整理了一些资料 喜欢我的文章想与更多资深大牛一起讨论和学习的话 欢迎加入我的学习交流群907694362

如何通过纯javascript实现表单提交

原文:https://www.cnblogs.com/xsd1/p/11963257.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!