第八次网页前端培训(Java Script第三次)(p40-p43、p60)

第八次网页前端培训(Java Script第三次)(p40-p43、p60)学习网址:【优极限】HTML+CSS+JavaScript+jQuery前端必学教程,小白教学,前端基础全套完成版_哔哩哔哩_bilibili七、JS表单1.获取表单(1)通过form标签属性值获取表单对象body

学习网址:

【优极限】 HTML+CSS+JavaScript+jQuery前端必学教程,小白教学,前端基础全套完成版_哔哩哔哩_bilibili


七、JS表单

1.获取表单

(1)通过form标签属性值获取表单对象

<body>
	<form id = "myform1" name = "myform1" action=""></form>
	<form id = "myform2" name = "myform2" action=""></form>
	<script type="text/javascript">
		console.log(document.getElementById("myform1"));
	</script>
</body>

第八次网页前端培训(Java Script第三次)(p40-p43、p60)

(2)通过name属性值获取表单对象

<body>
	<form id = "myform1" name = "myform1" action=""></form>
	<form id = "myform2" name = "myform2" action=""></form>
	<script type="text/javascript">
		console.log(document.myform2);
	</script>
</body>

第八次网页前端培训(Java Script第三次)(p40-p43、p60)

 (3)通过指定下标获取表单元素

<body>
	<form id = "myform1" name = "myform1" action=""></form>
	<form id = "myform2" name = "myform2" action=""></form>
	<script type="text/javascript">
		console.log(document.forms[0]);
	</script>
</body>

第八次网页前端培训(Java Script第三次)(p40-p43、p60)

(4)通过name属性值获取表单对象

<body>
	<form id = "myform1" name = "myform1" action=""></form>
	<form id = "myform2" name = "myform2" action=""></form>
	<script type="text/javascript">
		console.log(document.forms['myform2']);
	</script>
</body>

第八次网页前端培训(Java Script第三次)(p40-p43、p60)

 2.获取表单元素

(1)获取input元素

  • 通过元素的id属性值获取表单元素对象
  • 通过表单对象中对应的元素的name属性值获取
  • 通过表单元素的name属性值获取
  • 通过标签名获取表单元素对象
<body>

	<form id="myform3" name="myform3" action="" method="get">
		<!-- 文本框 -->
		姓名: <input type="text" name="uname" id="uname" value="zhangsan" /><br />
		<!-- 密码框 -->
		密码:<input type="password" name="upwd" id="upwd" value="1234"/><br />
		<!-- 隐藏域 -->
		<input type="hidden" id="uno" name="uno" value="隐藏域" />
		<!-- 文本域 -->
		个人说明:<textarea name="intro"></textarea>
		<br />
		<button type="button" onclick="getTxt();" > 获取元素内容</button>
	</form>
	<script type="text/javascript">
	function getTxt() {
		//
		var uname = document.getElementById("uname").value;
		console.log(uname);
		//
		var pwd =document.getElementById("myform3").upwd.value;
		console.log(pwd);
		//
		var uno = document.getElementsByName("uno")[0].value;
		console.log(uno);
		//
		var intro = document.getElementsByTagName("textarea")[0].value;
		console.log(intro);
	}
	</script>
</body>

第八次网页前端培训(Java Script第三次)(p40-p43、p60)

(2)获取下拉选项

  1. 获取下拉框选项
  2. 获取下拉框选项
  3. 获取下拉框被选中项的索引
  4. 获取下拉框被选中的备选中项的值
  5. 通过选中项的下标获取下拉框被选中项的值
  6. 获取下拉框被选中项的文本

注:

  •   获取下拉框选中项的值时:(value)
  1.          如果option标签设置了value属性值,则获取value属性对应的值;
  2.          如果option标签未设置value属性值,则获取的是option双标签中的文本值
  •   下拉框的选中状态
  1.          选中状态:selected=selected  seleted seleted = true
  2.          未选中状态:不设置selected属性、selected=false
<body>
	<form action="myform4" name="myform4" action="" method="">
		来自:
		<select id="ufrom" name="ufrom">
			<option value="-1">请选择</option>
			<option value="0" selected="selected">北京</option>
			<option value="1">上海</option>
		</select><br />
		<button type="button" onclick="getSelect()">获取下拉选项</button>
	</form>
	<script type="text/javascript">
	function getSelect() {
		//获取下拉框选项
		var ufrom = document.getElementById("ufrom");
		console.log(ufrom);
		//获取下拉框的下拉选项列表
		var opts = ufrom.options;
		console.log("选中的下标:" + index);
		//获取下拉框被选中项的索引
		var index = ufrom.selectedIndex;
		console.log("选中项的下标:" + val);
		// 获取下拉框被选中项的值
		var val = ufrom.value;
		console.log("被选中项的值:"+val);
		//获取下拉框被选中的备选中项的值
		var val2 = ufrom.options[index].text;
		console.log("被选中项的值" + val2);
		//获取下拉框被选中项的文本
		var txt = ufrom.options[index].text;
		console.log("被选中项的文本:" + txt);
	}
	</script>
</body>

第八次网页前端培训(Java Script第三次)(p40-p43、p60)

 3.提交表单

(1)使用普通按钮button

  • 给按钮绑定click点击事件,绑定函数
  • 在函数中,进行表单校验
  • 如果校验通过,则手动提交表单
<body>
	<!-- 给按钮绑定点击事件,绑定函数 -->
	<!-- 在函数中,进行表单校验 -->
	<!-- 如果校验通过,则手动提交表单 -->
	<!-- 表单对象 -->
	<form id="myform5" name="myform5" action="https://www.runoob.com/js/js-validation.html" method="get">
		姓名:<input name="uname" id="uname" />&nbsp;
		<span id="msg" style="font-size: :12px;color:  red;"></span><br />  <!-- 做提示 -->
		<button type="button" onclick="submitForm1()">提交</button>
	</form>
	<script type="text/javascript">
	/*提交表单*/
	//普通按钮
	function submitForm1(){
		//校验
		var uname = document.getElementById("uname").value;
		//判断是否为空
		if (isEmpty(uname)) {//为空
		//设置提醒信息
			document.getElementById("msg").innerHTML = "姓名不能为空!";
		//阻止表单提交
			return;
		}
		//手动提交表单
		document.getElementById("myform5").submit();
	}
	/**
	 * 判断字符是否为空
	 * 如果为空,返回true
	 * 如果不为空,返回false
	 */
	function isEmpty(str) {
		//判断是否为空
		if(str == null || str.trim() ==  ""){  // trim():去除字符串前后空格
			return true;
		}
		return false;
	}
	</script>
</body>

不输入内容时:

第八次网页前端培训(Java Script第三次)(p40-p43、p60)

输入内容后打开指定网页 。

(2)使用submit按钮,但最后需要返回

<body>
		<!-- 二、submit提交表单获取 -->
		<!-- 1.给按钮绑定点击事件,绑定函数 -->
		<!-- 2.函数需要有返回值,返回true或false(如果returnflase,则表单不提交 -->
		<!-- 3.在函数中,进行表单校验 -->
		<!-- 如果校验通过,返回true -->
		<form id="myform6" name="myform6" action="https://www.runoob.com/js/js-validation.html" method="get">
			姓名:<input name="uname2" id="uname2" />&nbsp;
			<span id="msg" style="font-size: :12px;color:  red;"></span><br />  <!-- 做提示 -->
			<button type="submit" onclick="return submitForm2()">提交</button>
		</form>
		<script type="text/javascript">
		function submitForm2(){
			//校验
			var uname = document.getElementById("uname2").value;
			//判断是否为空
			if (isEmpty(uname)) {//为空
			//设置提醒信息
				document.getElementById("msg").innerHTML = "姓名不能为空!";
			//阻止表单提交
				return false;
			}
			return true;
		</script>

第八次网页前端培训(Java Script第三次)(p40-p43、p60)

(3)使用submit,事件写在表单当中,最后也需要返回值

操作代码同上。


八、Ajax

原生Ajax的实现流程:

(1)得到XMLHttpRequest()对象

(2)打开请求:xhr.open (method/uri/async );

method 请求方式,通常是GET|POST
uri 请求地址
async 是否异步,如果是true表示异步,false表示同步

(3)发送请求:xhr.send ( params ) ;

  •                        params:请求时需要传递的参数
  •                                {如果是GET请求,设置null。(GEt请求的参数设置在url后面);}
  •                             {   如果是POST请求,五参数设置为null,有参数则设置参数;}

(4)接受响应:

  •                       xhr.responseText  得到响应结果:
  •                                           xhr.status :响应状态(200=响应成功;404=资源未找到;500=服务器异常)

:由于是异步请求,所以需要知道后台已经将请求处理完毕,才能获取响应结果

         通过监听readyState的变化来得知后面的处理状态 (4=完全处理;0=未处理)

xhr.onreadystatechange = function(){

xxxxxxxxxxxxxx

}

代码展示:

JSON中的代码:

{
	"uname":"zhangsan",
	"uage":18
}

HTML中的代码:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title>Ajax</title>
	</head>
	<body>
		<script type="text/javascript">
			/*同步请求*/
			function test01() {
				//得到XMLHttpRequest()对象
				var xhr = new XMLHttpRequest();
				//打开请求
				xhr.open("get","js/new_file.json",false);
				//发送请求
				xhr.send(null);
				// 判断响应状态
				if (xhr.status == 200) {
					console.log(xhr.responseText);
				} else {
					console.log("状态码" + xhr.status + ",原因:" + xhr.responseText);
				}
			}
			test01();
			console.log("============================");
			/*异步请求*/
			function test02() {
				//得到XMLHttpRequest()对象
				var xhr = new XMLHttpRequest();
				//打开请求
				xhr.open("get","js/new_file.json",true);//异步请求
				//发送请求
				xhr.send(null);
				xhr.onreadystatechange = function(){
					//当readyState的值为4时,表示结果成功响应
					if (xhr.readyState == 4) {
						// 判断响应状态
						if (xhr.status == 200) {
							//获取响应结果
							console.log(xhr.responseText);
						} else {
							console.log("状态码:" + xhr.status + ",原因:" + xhr.responseText);
						}
					}
				}
			}
			test02();
		</script>
	</body>
</html>

第八次网页前端培训(Java Script第三次)(p40-p43、p60)

 均可取到JSON中的内容。

今天的文章第八次网页前端培训(Java Script第三次)(p40-p43、p60)分享到此就结束了,感谢您的阅读。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/65026.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注