Vue收集表单数据

  1. 若 <input type="text"/>,则v-model收集的是value的值,用户输入的就是value值。
  2. 若 <input type="radio"/>,则v-model收集的是value的值,要给标签配置value值。
  3. 若 <input type="checkbox"/>
    1. 没有配置input的value属性,那么收集的就是checked(勾选 or 未勾选,是布尔值)
    2. input为checkbox时,v-model会自动与checked的属性绑定到一起。
    3. 配置input的value属性:
      1. v-model的初始值是非数组,那么收集的就是checked(勾选 or 未勾选,是布尔值)
      2. v-model的初始值是数组,那么收集的就是value组成的数组。
    4. 备注:v-model的三个修饰符:
      1. lazy:失去焦点在再收集数据。
      2. number:输入字符串转为有效的数字,配合<input type='number'/>使用。
      3. trim:输入的前后空格自动过滤
<div id="root">
    <form @submit.prevent="submit">
        <!-- v-model.trim可以删除前后的空格 -->
        账号:<input type="text" v-model.trim="account"><br /><br /><br />
        密码:<input type="password" v-model.trim="password"><br /><br /><br />
        <!-- v-model.number表示输入的是数字 -->
        年龄:<input type="number" v-model.number="age"><br /><br /><br />
        性别:
        <!-- v-model默认读取的是value值。 -->
        男:<input type="radio" v-model="sex" value="man">&nbsp;&nbsp;&nbsp;
        女:<input type="radio" v-model="sex" value="woman"><br /><br /><br />
        爱好:
        学习<input type="checkbox" v-model="hobby" value="study">&nbsp;&nbsp;&nbsp;
        游戏<input type="checkbox" v-model="hobby" value="game">&nbsp;&nbsp;&nbsp;
        吃饭<input type="checkbox" v-model="hobby" value="eat">&nbsp;<br /><br /><br />
        所属校区:
        <select v-model="city">
            <option value="">请选择校区</option>
            <option value="beijing">北京</option>
            <option value="shanghai">上海</option>
            <option value="shenzhen">深圳</option>
            <option value="wuhan">武汉</option>
        </select><br /><br /><br />
        其他信息:
        <!-- v-model.lazy失去焦点时同步 -->
        <textarea v-model.lazy="other"></textarea><br /><br /><br />
        <input type="checkbox" v-model="agree">阅读并接收<a href="">用户协议</a><br>
        <button>注册</button>
    </form>
</div>

<script type="text/javascript">
    new Vue({
        el: "#root",
        data: {
            account: "",
            password: "",
            age: "",
            sex: "man",
            hobby: [],       //爱好是多选框,必须要用数组接
            city: "",
            other: "",
            agree: ""
        },
        methods: {
            submit() {
                console.log(JSON.stringify(this._data))
            }
        }
    })
</script>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值