原来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;
})
}