我正在尝试验证页面上的无线电输入,以确保它们都用javascript填充。该功能与我测试过的所有浏览器完美配合,除了safari。它不是从无线电元素中读取输入。
在测试函数时,我只计算所有输入,当我返回此值进行测试时,它仅在safari上返回零。
代码如下,php,html和javascript。
//javascript code
function validate() {
var y = 0;
for (i=1;i<=5;i++)
{
var question = "question" + i;
var x = document.getElementsByName('question');
if(x>0)
{
y++;
}
}
if (y < 5) {
alert(y);
return false;
}
<?php
$count = 1;
foreach ($this->question as $question){
$question_number = 'question'.$count;?>
<br><label><?php echo $question->question_name; ?></label>
<div align="left"><input type="radio" name="<?php echo $question_number; ?>" value="1"/>1</div><br>
<div align="left"><input type="radio" name="<?php echo $question_number; ?>" value="2"/>2</div><br>
<div align="left"><input type="radio" name="<?php echo $question_number; ?>" value="3"/>3</div><br>
<div align="left"><input type="radio" name="<?php echo $question_number; ?>" value="4"/>4</div><br>
<div align="left"><input type="radio" name="<?php echo $question_number; ?>" value="5"/>5</div><br>
<br><br>
<?php
$count++;
} ?>
答案 0 :(得分:0)
注意,你的名字选择器问题不需要引用(字符串解释)。
var x = document.getElementsByName(question);
而不是
var x = document.getElementsByName('question');