永发信息网

javascript 用了return false 没法阻止表单提交

答案:1  悬赏:80  手机版
解决时间 2021-04-11 19:17
  • 提问者网友:十年饮冰
  • 2021-04-10 22:35
function paintMiss(Q1V, Q2V, Q3V, Q4V){
var point = 0;
var passp = true;
if(Q1V == ''){
document.getElementById('Q1').setAttribute('style','background-color:yellow;');
passp = false;
}
else{
if(Q1V == 'c'){
point += 1;
}
}

if(Q2V.length != 2){
document.getElementById('Q2').setAttribute('style','background-color:yellow;');
passp = false;
}
else{
if(Q2V[0] == 0 || Q2V[0] == 2){
point += 1;
}
if(Q2V[1] == 0 || Q2V[1] == 2){
point += 1;
}
}

if(Q3V == undefined){
document.getElementById('Q3').setAttribute('style','background-color:yellow;');
passp = false;
}
else{
if (Q3V == 1){
point += 1;
}
}

if(Q4V == ''){
document.getElementById('Q4').setAttribute('style','background-color:yellow;');
passp = false;
}
else{
if(Q4V.toLowerCase() == 'vexillology'){
point += 1;
}
}
passCheck(passp, point);
}

function passCheck(passp, point){
if (passp == false){
return false;
}
else{
var tScore = document.getElementsByName('thisScore')[0];
tScore.value = point;
alert('Good! You have scored:' + point);
return true;
}
}

这只是js的一部分,之前的函数关系不大,重点在于我在中间设置了那么多个让passp = false的判断,到最后似乎还是 passp == true ,测试的时候即使表单没有填写,数据依然在把未填写的题目染黄以后上传了,看了好多遍都不知道错哪里了,求指教,谢谢!
最佳答案
  • 五星知识达人网友:洒脱疯子
  • 2021-04-10 22:50
可以用调试工具打断点慢慢排查,特别是监控Q1V, Q2V, Q3V, Q4V 这几个的值
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯