Vue天禹

  1. 主页
  2. 文档
  3. Vue天禹
  4. 收集表单数据

收集表单数据

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8" />
		<title>收集表单数据</title>
		<script type="text/javascript" src="../js/vue.js"></script>
	</head>
	<body>
		<!-- 
			收集表单数据:
					若:<input type="text"/>,则v-model收集的是value值,用户输入的就是value值。
					若:<input type="radio"/>,则v-model收集的是value值,且要给标签配置value值。
					若:<input type="checkbox"/>
							1.没有配置input的value属性,那么收集的就是checked(勾选 or 未勾选,是布尔值)
							2.配置input的value属性:
									(1)v-model的初始值是非数组,那么收集的就是checked(勾选 or 未勾选,是布尔值)
									(2)v-model的初始值是数组,那么收集的的就是value组成的数组
					备注:v-model的三个修饰符:
									lazy:失去焦点再收集数据
									number:输入字符串转为有效的数字
									trim:输入首尾空格过滤
		-->
		<!-- 准备好一个容器-->
		<div id="root">
			<form @submit.prevent="demo">
				账号:<input type="text" v-model.trim="userInfo.account"> <br/><br/>
				密码:<input type="password" v-model="userInfo.password"> <br/><br/>
				年龄:<input type="number" v-model.number="userInfo.age"> <br/><br/>
				性别:
				男<input type="radio" name="sex" v-model="userInfo.sex" value="male">
				女<input type="radio" name="sex" v-model="userInfo.sex" value="female"> <br/><br/>
				爱好:
				学习<input type="checkbox" v-model="userInfo.hobby" value="study">
				打游戏<input type="checkbox" v-model="userInfo.hobby" value="game">
				吃饭<input type="checkbox" v-model="userInfo.hobby" value="eat">
				<br/><br/>
				所属校区
				<select v-model="userInfo.city">
					<option value="">请选择校区</option>
					<option value="beijing">北京</option>
					<option value="shanghai">上海</option>
					<option value="shenzhen">深圳</option>
					<option value="wuhan">武汉</option>
				</select>
				<br/><br/>
				其他信息:
				<textarea v-model.lazy="userInfo.other"></textarea> <br/><br/>
				<input type="checkbox" v-model="userInfo.agree">阅读并接受<a href="http://www.atguigu.com">《用户协议》</a>
				<button>提交</button>
			</form>
		</div>
	</body>

	<script type="text/javascript">
		Vue.config.productionTip = false

		new Vue({
			el:'#root',
			data:{
				userInfo:{
					account:'',
					password:'',
					age:18,
					sex:'female',
					hobby:[],
					city:'beijing',
					other:'',
					agree:''
				}
			},
			methods: {
				demo(){
					console.log(JSON.stringify(this.userInfo))
				}
			}
		})
	</script>
</html>
<!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>Document</title>
	<script src="https://v2.cn.vuejs.org/js/vue.js"></script>
</head>

<body>
	<div id="root">
		<form action="" @submit.prevent="dome">
			帐号:<input type="text" v-model="formname.zh"><br><br>
			密码:<input type="text" v-model="formname.ma"><br><br>
			年纪:<input type="text" v-model="formname.age"><br><br>
			性别:男<input type="radio" v-model="formname.sex" value="nan"> 女<input type="radio" v-model="formname.sex"
				value="nv"><br><br>
			爱好:学习<input type="checkbox" v-model="formname.aihao" value="xx">打游戏<input type="checkbox"
				v-model="formname.aihao" value="dyx">跑步<input type="checkbox" v-model="formname.aihao"
				value="pb"><br><br>
			所属校区:<select v-model="xiaoqu" value="默认"><br><br>
				<option value="xuexi">学习</option>
				<option value="dayoux">打游戏</option>
				<option value="paobu">跑步</option>
			</select><br><br>
			其他信息:
			<textarea name="" id="" cols="30" rows="10" v-model="formname.tex"></textarea><br><br>
			<input type="checkbox" v-model="formname.agree">阅读并接受《协义》
			<button>提交</button>
		</form>
	</div>
	<script>
		let vm = new Vue({
			el: "#root",
			data: {
				formname: {
					zh: "",
					ma:"",
					age:"",
					sex:"",
					aihao: [],
					tex:"",
					agree:"",
					xiaoqu:""
				}
			},
			methods: {
				dome(){
					console.log(JSON.stringify(this.formname));
				}
			},
		});
	</script>

</body>

</html>
这篇文章对您有用吗?

我们要如何帮助您?