1. <!DOCTYPE html>
    2. <html lang="en">
    3. <head>
    4. <meta charset="UTF-8">
    5. <title>收集表单</title>
    6. </head>
    7. <body>
    8. <form action="">
    9. 账户:<input type="text" name="username" > <br><br>
    10. 密码:<input type="password" name="password"> <br><br>
    11. <!--单选框-->
    12. 性别:<div>
    13. <input type="radio" name="sex" value="female">
    14. <input type="radio" name="sex" value="male">
    15. </div>
    16. <br>
    17. <!--多选框-->
    18. 爱好
    19. <div>
    20. 抽烟<input type="checkbox" name="hobby" value="smoke">
    21. 喝酒<input type="checkbox" name="hobby" value="drink">
    22. 吃饭<input type="checkbox" name="hobby" value="eat">
    23. </div>
    24. <br>
    25. <!--下拉框-->
    26. 所属校区
    27. <select name="school">
    28. <option value="qh">清华</option>
    29. <option value="bd">北大</option>
    30. <option value="sjz">河北地质大学</option>
    31. </select>
    32. <br>
    33. <!-- 多行输入-->
    34. <div>
    35. 其他信息 <br>
    36. <textarea name="others" id="" cols="30" rows="10"></textarea>
    37. </div>
    38. <input type="checkbox" name="ack">阅读并接受 <a href="http://www.baidu.com">《用户协议》</a>
    39. <button> 提交</button>
    40. </form>
    41. </body>
    42. </html>

    我们该如何使用v-model来识别表单数据呢?
    通过以上手段我们就可以获取到表单输入v-model
    但是怎么提交呢?我们可以给表格增加一个方法
    @submit.prevent=“tijiao”
    使用.prevent 防止提交之后跳转

    前面半段:

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>收集表单</title>
    </head>
    <body>
    <script type="text/javascript" src="https://unpkg.com/vue/dist/vue.js"></script>
        <div id="app">
            <form action="" @submit.prevent="tijiao">
    
                账户:<input type="text" name="username" v-model="username" > <br><br>
                密码:<input type="password" name="password" v-model="password"> <br><br>
    
                <!--单选框-->
                性别:<div>
    
                男<input type="radio" name="sex"  v-model="sex" value="female">
                女<input type="radio" name="sex"  v-model="sex" value="male">
            </div>
                <br>
                <!--多选框-->
                爱好
                <div>
                    抽烟<input type="checkbox" name="hobby" value="smoke" v-model="hobby">
                    喝酒<input type="checkbox" name="hobby" value="drink" v-model="hobby">
                    吃饭<input type="checkbox" name="hobby" value="eat" v-model="hobby">
                </div>
                <br>
                <!--下拉框-->
                所属校区
                <select name="school" v-model="city">
                    <option value="qh">清华</option>
                    <option value="bd">北大</option>
                    <option value="sjz">河北地质大学</option>
                </select>
                <br>
                <!--    多行输入-->
                <div>
                    其他信息 <br>
                    <textarea name="others" id="" cols="30" rows="10" v-model="message"></textarea>
                </div>
                <input type="checkbox" name="ack" v-model="ack">阅读并接受 <a href="http://www.baidu.com">《用户协议》</a>
                <button> 提交</button>
            </form>
        </div>
    

    后半段:

    <script type="text/javascript">
        var vm = new Vue({
            el:"#app",
            data:{
                username:'',
                password:'',
                sex:'',
                hobby: [],
                city: 'bj',
                message:"我是默认值",
                ack:"true",
    
            },
            methods: {
                tijiao(){
    
                    console.log(JSON.stringify(this._data))
                }
            }
        })
    </script>
    </body>
    </html>
    

    其实我们不应该这样用this._data
    因为
    有下划线,所以我们应该将data的方式改一下
    改为:
    image.png