0
昨天的大部分时间我都试图将它解决,但没有运气 - 我对Javascript很陌生,所以请耐心等待。我试图创建一个问卷作为我被要求去做的一个项目的一部分。Javascript文本框验证不起作用?
我有下面的代码,它创建了一组文本框供用户输入问题 - 他们选择他们想要创建多少个文本框/问题。这是执行文本创造和传递用户希望创建为Javascript的问题数量的代码:
<?php
//Loop for question textboxes
for ($i = 1; $i <= intval($_SESSION['Questions']); $i++) {
echo"
<b>Question ". $i ."</b><br>
<input type='text' style='width: 42em;' name='box{$i}' id='box{$i}'>
<br><br>
";
}
echo'
<br>
<input type='.Submit.'>
<br><br>
';
?>
<script>
var Questions = <?php echo json_encode($_SESSION['Questions']); ?>;
</script>
,然后提交表单:
function QuestionsValidation(f) {
var msg = "";
for (i = 1; i <= Questions; i++) {
if (f.box+i.value == "") {
msg += "Question" +i "empty!\n";
}
}
if (msg !== "") {
alert ("Errors in form:\n" + msg);
return false;
}
else {
return true;
}
}
,我几乎可以肯定,它不工作的原因是在JavaScript For循环中的IF语句中,但我很欣赏任何建议。我删除了For循环中的IF语句并将其替换为:
for (i = 1; i <= Questions; i++) {
msg += f.box+i.value;
}
尝试并解决问题。它返回NaN?
传递给f类中的QuestionsValidation函数的是什么。你是否使用jQuery的JavaScript库? – Brett
我没有碰过jquery,到目前为止我已经取得了很多成功,但没有碰到它,所以我认为我可以应付这一点,而不必进入它。我有一个这样的表单: