HTML5_表单

新增的表单事件

  • oninput:监听当前指定元素内容的改变,只要内容改变(添加内容,删除内容),就会触发
  • onkeyup:键盘弹起的时候触发,每一个键弹起都会触发一次
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
	</head>
	<body>
		<form action="">
			用户名:<input type="text" name="userName" id="userName"><br>
			电话:<input type="tel" name="userPhone" id="userPhone"><br>
			<input type="submit">
		</form>
		<script type="text/javascript">
			/* 1.oninput:监听当前指定元素内容的改变,只要内容改变(添加内容,删除内容),就会触发 */
			document.getElementById("userName").oninput=function(){
				console.log("oninput:"+this.value);
			}
			/* 2.onkeyup:键盘弹起的时候触发,每一个键弹起都会触发一次 */
			document.getElementById("userName").onkeyup=function(){
				console.log("onkeyup:"+this.value);
			}
		</script>
	</body>
</html>

运行:
在这里插入图片描述

  • oninvalid
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
	</head>
	<body>
		<form action="">
			用户名:<input type="text" name="userName" id="userName"><br>
			电话:<input type="tel" name="userPhone" id="userPhone" pattern="^1/d{10}$"><br>
			<input type="submit">
		</form>
		<script type="text/javascript">
			/* 1.oninput:监听当前指定元素内容的改变,只要内容改变(添加内容,删除内容),就会触发 */
			document.getElementById("userName").oninput=function(){
				console.log("oninput:"+this.value);
			}
			/* 2.onkeyup:键盘弹起的时候触发,每一个键弹起都会触发一次 */
			document.getElementById("userName").onkeyup=function(){
				console.log("onkeyup:"+this.value);
			}
			/* oninvalid:当验证不通过时触发 */
			document.getElementById("userPhone").oninvalid=function(){
				/* 设置默认的提示信息 */
				this.setCustomValidity("请输入合法的11位手机号");
			}
		</script>
	</body>
</html>

运行效果:
在这里插入图片描述

进度条

  • progress:进度条
  • meter:度量器
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
	</head>
	<body>
		<!-- max:最大值
		 value:当前进度值
		 -->
		<progress max="100" value="50"></progress>
		
		<!-- 度量器 -->
		<!-- high:规定的较高的值 
		low:规定较低的值
		max:最大值
		min:最小值
		value:当前度量值
		-->
		<meter max="100" min="0" high="80" value="30"></meter>
	</body>
</html>

效果:
在这里插入图片描述

表单综合案列

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<link rel="stylesheet" type="text/css" href="css/form.css"/>
	</head>
	<body>
		
		<form action="#">
			<fieldset>
				
				<legend>学生档案</legend>
				<label for="userName">姓名:</label>
				<input type="text" name="userName" id="userName" placeholder="请输入用户名" />
				
				<label for="userPhone">手机号码:</label>
				<input type="tel" name="userPhone" id="userPhone" pattern="^1\d{10}$"/>
				
				<label for="email">邮箱地址:</label>
				<input type="email" name="email" id="email" required="required">
				
				<label for="collage" >所属学院:</label>
				<input type="text" name="collage" id="collage" list="cList" placeholder="请选择"/>
				<datalist id="cList">
					<option value ="前端移动开发"></option>
					<option value ="java学院"></option>
					<option value ="C++学院"></option>
				</datalist>
				
				<label for="score">入学成绩:</label>
				<input type="number"  id="score" value="0"	max="100"  />
				
				<label for="level">基础水平:</label>
				<meter id="level" max="100" min="0" low="59" high="90"></meter>
				
				<label>入学日期:</label>
				<input type="date" name="inTime" id="inTime"  />
				
				<label>入学日期:</label>
				<input type="date" name="leaveTime" id="leaveTime"  />
				<input type="submit" name="" id="" value="提交" />
			</fieldset>
		</form>
		<script type="text/javascript">
			document.getElementById("score").oninput=function(){
				document.getElementById("level").value=this.value;
			}
		</script>
	</body>
</html>

  • form.css
*{
	padding: 0;
	margin: 0;
	}
	form{
		width:600px;
		margin: 20px auto;
	}
	form>fieldset{
		
		padding: 10px;
	}
	meter,input{
		width: 600px;
		height: 40px;
		line-height: 40px;
		margin: 10px 0;
		/* 清除所带来的浮雕效果 */
		border: none;
		border: 1px solid #ccc;
		/*设置圆角 */
		border-radius: 4px;
		font-size: 16px;
		padding-left: 5px;
		/* width=内容+padding+boder */
		/* 盒模型 */
		box-sizing: border-box;
		
	}
	p{
		color: blue;
	}
	meter{
		padding-left: 0px;
	}
	
	

运行效果:
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值