妙用map进行表单提交多条checked认证

zhuanbike 2022-3-3 682

原来js也可以写的这么妙,JavaScript百炼成仙真不是搞笑,确实也可以很妙。

html 部分:

<form action="" onsubmit="return post()">
 <!-- 加return只有返回值为真的时候,才调用下一步 -->
 <input type="checkbox" name="agereement" message="您未接受风险协议" />风险协议
 <input type="checkbox" name="isxuesheng" message="您未接受条款声明" />条款声明
 <br />
 <input type="submit" />
</form>

js部分:

function post() {
			let map = new Map();
			let inputs = document.querySelectorAll("[message]");
			//把input状态存入map中
			inputs.forEach(item => map.set(item, {
				message: item.getAttribute("message"),
				status: item.checked
			}));
			return [...map].every(([item, config]) => {
				config.status || alert(config.message); //为真时直接短路,任一为假,执行alert
				return config.status;
			})
		}


最新回复 (0)
发新帖