所以我有这个简单的条件:
var q1 = document.forms["quizForm"]["q1"].value;
我必须像这样重复5次:
var q1 = document.forms["quizForm"]["q1"].value;
var q2 = document.forms["quizForm"]["q2"].value;
var q3 = document.forms["quizForm"]["q3"].value;
var q4 = document.forms["quizForm"]["q4"].value;
var q5 = document.forms["quizForm"]["q5"].value;
但相反,我想使用这样一个简单的循环:
for (n = 1; n < 5; n++) {
var qn = document.forms["quizForm"]["qn"].value;
}
那么如何将数字 n 添加到变量 q ?那么在循环中看起来像q n ,而不是q1?
所以如果我使用这个循环:
function submitAnswers(){
var total = 5;
var score = 0;
for (n = 1; n <= 5; n++) {
var qn = document.forms["quizForm"]["q" + n].value;
}
//Validation
if( ! q1){
alert('You missed question 1');
return false;
}
}
验证不会触发,就像q1不存在一样。
但如果我接下来会触发:
function submitAnswers(){
var total = 5;
var score = 0;
var q1 = document.forms["quizForm"]["q1"].value;
//Validation
if( ! q1){
alert('You missed question 1');
return false;
}
}
所以我猜qn并没有将qn
声称为值。
我试图实现这样的事情:
for (n = 1; n <= 5; n++) {
eval('var q' + n + '=document.forms['quizForm']['q' + n + '].value;');
alert(q1);
}
但到目前为止没有运气。
答案 0 :(得分:3)
您可以在循环内进行验证,并在同一循环中进行分数计算。
var total = 5;
var score = 0;
for (i = 1; i <=n; i++) {
if(document.forms["quizForm"]["q" + i].value == ""){
alert("You missed question " + i);
return false;
}
score += document.forms["quizForm"]["q" + i].value;
}
答案 1 :(得分:3)
您可以在循环
中查看无效问题function submitAnswers(){
var total = 5;
var score = 0;
for (n = 1; n <= 5; n++) {
var qn = document.forms["quizForm"]["q" + n].value;
//Validation
if( ! qn){
alert('You missed question '+n);
break;
}
}
}
答案 2 :(得分:1)
它应该工作。 Javascript隐式转换类型。在您的情况下,使用+运算符就足够了。
SELECT * FROM table1 AS t1 INNER JOIN table2 AS t2 ON t1.latitude=t2.latitud OR t2.longitude=t1.longitude WHERE t1.latitude='#enter the value#' AND t1.longitude='#enter the value#'
顺便说一句,根据你的第一个例子,你的循环应该看起来像
SELECT * FROM table1 AS t1 INNER JOIN table2 AS t2 ON t1.latitude=t2.latitud OR t2.longitude=t1.longitude
或者它不会命中n === 5.