JS
function validateForm() {
var questions = document.getElementsByClassName("question");
formValid = true;
for( var j=0; j < questions.length; j++ ) {
if( !isOneInputChecked(questions[j], "radio") ) {
formValid = false;
}
}
alert(formValid ? "Submission Succesfull!" : "Submission Failed!");
return formValid;
}
function isOneInputChecked(sel) {
var inputs = sel.getElementsByTagName('input');
for (var k=0; k<inputs.length; k++) {
if( inputs[k].checked )
return true;
} // End of the loop, return false return false;
}
的index.php
<div class="question">
<p>First time visitor?:</p>
<label>Yes</label>
check here the td and td closing !!!!!!
<?php for($i=1; $i<=10; $i++){?><td><input type="radio" value="<?=$i?>"> <?=$i?> </td><?php } ?>
</div>
<input type="submit" value="Submit"><br/> </form> </body>
我的意图是让这个测验有效,但是一旦我把td放在前面 输入,验证不再工作,但我需要td来进行PHP输出循环,所以我该怎么做?我可以以某种方式更改js脚本以绕过问题吗?
答案 0 :(得分:0)
你擅长把它作为桌子的一部分 要使td标记有效,必须将它们放在指定的表中。这是经过修改的PHP脚本和HTML
<div class="question">
<p>First time visitor?:</p>
<label>Yes</label>
check here the td and td closing !!!!!!
<table>
<tr>
<?php
for($i=1; $i<=10; $i++){
echo "<td>" . "<input type='radio' value='" . $i . "'>" . "</td>";} ?>
</tr>
</table>
</div>
<input type="submit" value="Submit"><br/> </form> </body>