无法在safari中使用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填充。除了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++;
    } ?>

注意,您的名称选择器问题不需要引号字符串解释

 var x = document.getElementsByName(question);
而不是

var x = document.getElementsByName('question');

如果您的问题与JavaScript有关,请在客户端显示呈现的HTML,而不是无关的php。您想实现什么?最好使用document.querySelectorAll并检查返回集合的长度,而不是通过循环逐个计算元素。