获取具有不同名称和循环相同的单选按钮值

时间:2014-04-07 10:38:11

标签: php mysql

如何在同一个php页面上获取这些单选按钮的值。

 <?php
    $i=1;
    while($i<=5) {
        echo "  
        <input type='radio' name='rating$i' value='1' id='rating_0'>
        <input type='radio' name='rating$i' value='2' id='rating_1'>                                                         
        <input type='radio' name='rating$i' value='3' id='rating_2'>                                                         
        <input type='radio' name='rating$i' value='4' id='rating_3'>                                                      
        <input type='radio' name='rating$i' value='5' id='rating_4'>
    ";
        echo "<br />";
        $i++;
    }
    ?>

3 个答案:

答案 0 :(得分:1)

由于您使用的是PHP,我假设您正在寻找服务器端解决方案。

在这种情况下,您应使用form包围输入。 E.g:

<form name="myForm" action="myAction.php" method="post">
<?php
    $i=1;
    while($i<=5) {
        echo "  
        <input type='radio' name='rating$i' value='1' id='rating_0'>
        <input type='radio' name='rating$i' value='2' id='rating_1'>                                                         
        <input type='radio' name='rating$i' value='3' id='rating_2'>                                                         
        <input type='radio' name='rating$i' value='4' id='rating_3'>                                                      
        <input type='radio' name='rating$i' value='5' id='rating_4'>
    ";
        echo "<br />";
        $i++;
    }
    ?>
</form>

myAction.php是处理表单数据的页面;您可以根据需要在postget方法之间进行选择。如果您选择post,就像我在示例中所写,在myAction.php内,您会在$_POST数组中找到您的输入值。

对于这个简单的例子,你将拥有:

$_POST['rating1']$_POST['rating2'],..

如果您已经知道将有5个输入,您也可以在myAction.php内使用一个循环:

while($i<=5) {
    // do something with $_POST["rating$i"]
}

<强>更新 如果您知道只有这些输入,则可以循环遍历所有$_POST值:

foreach($_POST as $val){
    // do something with $val
}

如果您不知道输入的数量,但是您知道它们将全部称为“ratingX”,您可以遍历所有$_POST值并查找以“rating”开头的值(不是最佳优化解决方案):

foreach($_POST as $key => $val){
    if(substr($key, 0, 6) == 'rating'){
        // do something with $val
    }
}

答案 1 :(得分:0)

尝试包含一个表单并添加此表单。

<form action="page.php" action="post">
<?php
    while($i<=5) {
            echo "  
            <input type='radio' name='rating$i' value='1' id='rating_0'>
            <input type='radio' name='rating$i' value='2' id='rating_1'>                                                         
            <input type='radio' name='rating$i' value='3' id='rating_2'>                                                         
            <input type='radio' name='rating$i' value='4' id='rating_3'>                                                      
            <input type='radio' name='rating$i' value='5' id='rating_4'>
        ";
            echo "<br />";
            $i++;
        }
?>
</form>

您可以在

这样的表单的操作页面中访问$_POST数组中的值
foreach($_POST() as $radioval)
{
echo $radioval;
}

答案 2 :(得分:0)

你可以做到获取值(不是选定的值)

var elements = document.querySelectorAll('input[name="rating$i"]'); //where rating$i is rating1 rating 2 and so on
for (var element in elements)
{
    var value=element.value;
}

要获取所选值,您只需检查

var value = rating$i.value;   //rating1 rating2 and so on
相关问题