无法在safari中使用javascript获取元素值
我试图验证页面上的无线电输入,以确保它们都用javascript填充。除了safari之外,该功能在我测试过的所有浏览器上都能完美运行。它没有读取来自无线电元件的输入 在测试函数时,我只计算所有输入,当我返回此值进行测试时,它仅在safari上返回零 代码如下:php、html和javascript无法在safari中使用javascript获取元素值,javascript,html,safari,Javascript,Html,Safari,我试图验证页面上的无线电输入,以确保它们都用javascript填充。除了safari之外,该功能在我测试过的所有浏览器上都能完美运行。它没有读取来自无线电元件的输入 在测试函数时,我只计算所有输入,当我返回此值进行测试时,它仅在safari上返回零 代码如下:php、html和javascript //javascript code function validate() { var y = 0; for (i=1;i<=5;i++) { va
//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++;
} ?>
注意,您的名称选择器问题不需要引号字符串解释
var x = document.getElementsByName(question);
而不是
var x = document.getElementsByName('question');
如果您的问题与JavaScript有关,请在客户端显示呈现的HTML,而不是无关的php。您想实现什么?最好使用document.querySelectorAll并检查返回集合的长度,而不是通过循环逐个计算元素。