我写了一个非常快速的javascript函数,以验证我们办公室使用的内部表单中的一个很小的表单。但是,今天有人告诉我,它在Edge中不起作用,该代码永远不会启用“提交”按钮。
我console.log每次函数运行时注销var值,并且在边缘,var永远是不确定的。似乎Edge不尊重“ document.forms [” abc“] [” xyz“]。value”,但我找不到任何文档或说明来支持它。
我应该澄清一下,我不是javascript专业人士,我非常谨慎地使用它,并以简单的方式完成诸如此类的小任务,所以请不要对我的代码进行太难的判断,哈哈。
控制台日志:
q1=undefined
q2=undefined
q3=undefined
q4=undefined
我的代码在下面,非常简单,没什么花哨的。.
function fieldcheck(){
var q1=document.forms["datacollect1"]["q1overall"].value;
var q2=document.forms["datacollect1"]["q2understand"].value;
var q3=document.forms["datacollect1"]["q3time"].value;
var q4=document.forms["datacollect1"]["q4recommend"].value;
console.log("q1="+q1+"\n"+"q2="+q2+"\n"+"q3="+q3+"\n"+"q4="+q4);
document.getElementById("datacollectsubmit1").disabled = true;
if (q1 && q2 && q3 && q4){
console.log("q1234 set");
document.getElementById("datacollectsubmit1").disabled = false;
}
}
每次点击我都会通过以下方式调用上面的内容:
document.onclick = function(){
fieldcheck();
}
任何人都知道为何Edge玩游戏吗?还是我可以替代document.forms.value的东西在其他浏览器和Edge中也可以使用?谢谢。
答案 0 :(得分:0)
您的上述代码在MS Edge中运行。可能是其他一些代码导致了此问题。我建议您采用以下代码,然后在MS Edge中运行它。
代码:
<!doctype html>
<head>
<script>
function fieldcheck(){
var q1=document.forms["datacollect1"]["q1overall"].value;
var q2=document.forms["datacollect1"]["q2understand"].value;
var q3=document.forms["datacollect1"]["q3time"].value;
var q4=document.forms["datacollect1"]["q4recommend"].value;
console.log("q1="+q1+"\n"+"q2="+q2+"\n"+"q3="+q3+"\n"+"q4="+q4);
document.getElementById("datacollectsubmit1").disabled = true;
if (q1 && q2 && q3 && q4){
console.log("q1234 set");
document.getElementById("datacollectsubmit1").disabled = false;
}
}
document.onclick = function(){
fieldcheck();
}
</script>
</head>
<body>
<form name="datacollect1" onsubmit="return fieldcheck()" method="post">
Name: <input type="text" name="q1overall"><br>
Name1: <input type="text" name="q2understand"><br>
Name2: <input type="text" name="q3time"><br>
Name3: <input type="text" name="q4recommend"><br><br>
<input type="submit" id="datacollectsubmit1" value="Submit">
</form>
</body>
</html>
在MS Edge浏览器中输出: