JavaScript-为文本框赋值

1.首先我们需要搭建好HTML代码骨架,然后准备好文本框。我准备了6个文本框,一个单选框,一个复选框,一个按钮,就是为了区分只是为文本框赋值,对其他没有影响,代码如下:

<!DOCTYPE html>
<html>
<head>
	<title>为文本框赋值</title>
</head>
<body>
	<input type="text"> <br>
	<input type="text"> <br>
	<input type="text"> <br>
	<input type="text"> <br>
	<input type="text"> <br>
	<input type="text"> <br>
	<input type="button" value="确认">
	<input type="checkbox">
	<input type="radio">
</body>
</html>
2.运行结果如下:


3.接下来就是为文本框赋值,代码如下:

<!DOCTYPE html>
<html>
<head>
	<title>为文本框赋值</title>
</head>
<body>
	<input type="text"> <br>
	<input type="text"> <br>
	<input type="text"> <br>
	<input type="text"> <br>
	<input type="text"> <br>
	<input type="text"> <br>
	<input type="button" value="确认">
	<input type="checkbox">
	<input type="radio">

	<script>
		// 通过getElementsByTagName来获取标签名的集合
		var inputs = document.getElementsByTagName('input');
		// 声明两个变量,为for循环做准备
		var i =0 ,length = inputs.length;
		// 通过for循环赋值
		for (; i < length; i++) {
			input = inputs[i];
			// 判断input的类型是不是文本框
			if (input.type === 'text') {
				// 为文本框赋值,因为是从 0 开始赋值的,所以想从 1 开始的话就需要 i + 1
				input.value = i + 1;
			}
		}
	</script>
</body>
</html>
4.可以看到,每个文本框都被赋予了值,结果如图所示:


5.这是一般的写法,上面代码还可以优化如下:

<!DOCTYPE html>
<html>
<head>
	<title>为文本框赋值</title>
</head>
<body>
	<input type="text"> <br>
	<input type="text"> <br>
	<input type="text"> <br>
	<input type="text"> <br>
	<input type="text"> <br>
	<input type="text"> <br>
	<input type="button" value="确认">
	<input type="checkbox">
	<input type="radio">

	<script>
		// 通过getElementsByTagName来获取标签名的集合
		var inputs = document.getElementsByTagName('input');
		// 声明两个变量,为for循环做准备
		var i =0 ,length = inputs.length;
		// 通过for循环赋值
		for (; i < length; i++) {
			input = inputs[i];
			// 判断input的类型是不是文本框
			if (input.type !== 'text') {
				// 结束本次循环,继续执行循环
				continue;
			}
			// 为文本框赋值,因为是从 0 开始赋值的,所以想从 1 开始的话就需要 i + 1
			input.value = i + 1;
		}
	</script>
</body>
</html>

6.也许有人会奇怪,为什要用不等呢?其实这个在这里面效果不是很明显,就是如果未优化的代码里面嵌套循环如果多的话会造成代码的可读性下降,代码效率下降,所以一般建议用优化后的方法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值