JavaScript表单校验

<body>	
	<form onsubmit = "return loop()">
		<input id="user_name" placeholder="请输入用户名"/>
		<input id="password" type="password" placeholder="请输入密码"/>
		<br/>
		<input type="radio" name="sex" value="1"/><input type="radio" name="sex" value="2"/><br/>
		<input type="checkbox" name="hobby" value="1"/>篮球
		<input type="checkbox" name="hobby" value="2"/>足球
		<input type="checkbox" name="hobby" value="3"/>羽毛球
		<br/>
		<select id="grade">
			<option value="">请选择</option>
			<option value="1">一年级</option>
			<option value="2">二年级</option>
		</select>
		<input type="submit" value="提交"/>
	</form>
	<script>
		function loop(){
			//先校验用户名
			var element=document.getElementById("user_name");
			var userName=element.value;
			if(userName == ""){
				alert("请输入用户名");
				return false;
			}

			//校验密码
			element = document.getElementById("password");
			var password = element.value;
			if(password == ""){
				alert("请输入密码");
				return false;
			}
			//校验单选框
			var elements = document.getElementsByName("sex");
			var flag = false;
			for(var i = 0;i<elements.length;i++){
				element = elements[i];
				if(element.checked){
					flag = true;
					break;
				}
			}
			if(!flag){
				alert("请选择性别");
				return false;
			}
	
			//校验复选框
			elements = document.getElementsByName("hobby");
			var count = 0;
			for(var i =0;i<elements.length;i++){
				element = elements[i];
				if(element.checked){
					count++;
				}
			}
			if(count<2){//这里我们要求复选框至少选择两个选项
				alert("请至少选择两项爱好");
				return false;
			}

			//校验下拉列表
			flag = false;
			element = document.getElementById("grade");
			var options = element.options;
			for(var i=0;i<options.length;i++){
				var option = options[i];
				if(option.selected && option.value != ""){
					flag = true;
				}
			}
			if(!flag){
				alert("请选择年级");
				return false;
			}
			return true;
		}
	</script>
</body>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值