为了账号安全,请及时绑定邮箱和手机立即绑定

Vue获取表单数据的方法, 不学不会

标签:
Vue.js

这篇文章主要为大家介绍了Vue获取表单数据的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助。
1、使用Vue收集如下用户数据:

图片描述

2、代码实现:
将value的值与变量属性进行绑定
v-model.trim = ‘username’ ; 去除两端空格
v-model.number = ‘age’;将字符串转为数值
v-model.lazy = ‘age’ ; 不是立即收集,而是切换焦点后收集

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>获取表单数据</title>
    <script class="lazyload" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB/AAffA0nNPuCLAAAAAElFTkSuQmCC" data-original="/static/js/vue.js"></script>
</head>
<body>
    <div id="container">
        <form action="" @submit.prevent="submit">
            <label for="username">用户名:</label><br>
            <input type="text" class="username" name="username" placeholder="输入用户名" v-model.lazy="user.username"><br>
            <label for="password">密码:</label><br>
            <input type="password" class='password' name="password" placeholder="输入密码" v-model="user.password"><br>
            <label for="age">年龄:</label><br>
            <!-- type is number,只允许输入数字;input中也是字符串 -->
            <!-- v-model.number,将input的字符串转为数值 -->
            <input type="number" name="age" v-model.number="userage"><br>
            <label for="">性别:</label>
            <!-- 非正常的input -->
            <input type="radio" name="sex" v-model="user.sex" value="female">女
            <input type="radio" name="sex" v-model="user.sex" value="male">男
            <br>
            <!-- 多选 -->
            <label for="">爱好:</label>
            <input type="checkbox" v-model="user.hobby" value="pingpong">乒乓球
            <input type="checkbox" v-model="user.hobby" value="basketball">篮球
            <input type="checkbox" v-model="user.hobby" value="football">足球
            <br>
            <!-- 下拉选框 -->
            <span>选择城市:</span><br>
            <select name="city" v-model="user.city" id="">
                <option value="">选择城市</option>
                <option value="zz">郑州</option>
                <option value="wh">武汉</option>
                <option value="bj">北京</option>
            </select>
            <br>
            <!-- 文本框 -->
            <label for="">描述:</label><br>
            <textarea name="desc" v-model="user.desc"></textarea>
            <br>
            <!-- 协议 -->
            <input type="checkbox" name="agree" v-model="user.agree">阅读并接受<a href="http://www.baidu.com">《用户协议》</a>
            <!-- 点击按钮 提交 -->
            <button :style="{display:'block',backgroundColor:'lightblue',}">提交</button>
            <!-- submit 提交 -->
            <!-- <input type="submit" value="提交"> -->
        </form>
    </div>

    <script>
        Vue.config.productionTip = false
        new Vue({
            el: "#container",
            data: {
                user: {
                    username: "",
                    password: "",
                    age: "",
                    sex: "",
                    hobby: [],
                    city: "",
                    desc: "",
                    agree: "",
                }
            },
            methods: {
                submit(event){
                    console.log("提交表单")
                    // 在form内,参数自动提交
                    console.log(JSON.stringify(this.user))
                },
            },
        })
    </script>
</body>
</html>

模板过滤器

模板过滤器 1.插值语法中使用

2.v-bind:属性 =‘ xx| xx '
处理一些简单的操作,产生了新数据

本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注脚本之家的更多内容!

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消