我的 JavaScript 函数有问题。我在 html 文件中使用 onSubmit
。它让我发出“我们处于”警报,但是当我评论第一个 alert("we are in")
并取消注释第二个警报时 (alert ("here")
)没有任何操作,没有警报显示。
function checkCheckbox() {
alert ("we are in");
var i=document.getElementById.value('iii');
//alert ("here");
for(var k = 0; k < i; k++){
var id_lista="lista"+k;
if(document.getElementById('id_lista')!= null){
var ile_t="ile_t_opis_"+k;
var ile_t_opis=document.getElementById.value('ile_t');
var ile=0;
for(var m=0; m < ile_t_opis; m++){
var opis="opis_"+k+"_"+m;
if (document.getElementById('opis').checked==true){
ile++;
}
}
if (ile==0){
alert ("You didn\'t choose any of the checkboxes!");
return false;
} else {
return true;
}
}
}
}
最佳答案
你的代码有很多问题。特别是在使用 document.getElementById() 的方式中。在代码的许多实例中,您在调用内创建字符串文字,而不是声明用于保存所需 id 的变量的计算值。我已经重新编写了您的代码并修复了问题。这是重写的版本:
function checkCheckbox() {
alert ("we are in");
var i=document.getElementById('iii').value;
alert ("here");
for(var k = 0; k < i; k++){
var id_lista="lista"+k;
if(document.getElementById(id_lista)!= null){
var ile_t="ile_t_opis_"+k;
var ile_t_opis=document.getElementById(ile_t).value;
var ile=0;
for(var m=0; m < ile_t_opis; m++){
var opis="opis_"+k+"_"+m;
if (document.getElementById(opis).checked==true){
ile++;
}
}
if (ile==0){
alert ("You didn't choose any of the checkboxes!");
return false;
} else {
return true;
}
}
}
}
关于Javascript 函数并不执行所有指令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29731227/