JavaScript表单输入框值过时导致字符串匹配失败问题求助
问题原因
- 你将输入框取值的逻辑写在了全局作用域,这段代码会在页面加载完成时立刻执行,此时用户还没有在输入框输入内容,
txt1会永久存储页面加载初始阶段输入框的空值,不会跟随用户后续的输入操作更新。调用submit1函数做校验时,比对的永远是初始空值,自然永远匹配失败。
修复方法
把输入框取值的逻辑移动到submit1函数内部,保证每次点击提交按钮时,都能读取到输入框的最新内容即可。
修正后的JS代码如下:
function submit1() { // 每次提交时实时获取输入框最新值 var txt1 = document.getElementById("ansbox1").value; if (txt1.split(" ").join("") === atob("[base64string]").split(" ").join("")) { alert("Yaay!"); } else { alert("Nope, its wrong!"); } }
内容的提问来源于stack exchange,提问作者CoderPro1000
相关产品推荐
相关产品推荐

