如何使用Javascript和Jquery分别验证通过PHP循环创建的每个简单HTML无线电表单

Mar*_*ina 3 html javascript php radio

我制作了许多html表单,其中只包含单选按钮和提交按钮.但是,我无法让它们正确验证 - 彼此独立.这是我的代码:

表单的PHP/HTML代码:

<table>
<?php
for($i=0; $i<count($array1); $i++)
{
  $number = $i + 1;
  echo "<TR><TD>;
  echo "<form name='move' action='listChange_controller.php' method='POST'>Title:<br/>
        <input type='radio' name='change".$number."' value = 'val1' />Thing1
        <input type='radio' name='change".$number."' value = 'val2'/>Thing2
        <input type='radio' name='change".$number."' value = 'val3'/>Thing3
        <input type='button' name='submit' value='submit' onClick='validate(".$number.");'/>";
  echo "</form>";
  echo "</TD></TR>";
}
?>
</table>
Run Code Online (Sandbox Code Playgroud)

这是我一直在尝试的javascript/jquery,但没有奏效:

function validate(number)
{
    var name_var = 'change'+number;
    if($('input:radio[name=name_var]:checked').length > 0)
    {
        $.post('file.php',{ name_var:$('input:radio[name=name_var]:checked').val()});
    }
    else
    {
       alert('You must choose');
       return false; 
    }
}
Run Code Online (Sandbox Code Playgroud)

当我这样做时,它总是认为我在按下提交之前没有选择单选按钮; 它总是执行我的javascript函数的'else'部分.

请让我知道为什么它不起作用,什么工作.任何帮助和建议表示赞赏.

cal*_*die 5

这条线......

if($('input:radio[name=name_var]:checked').length > 0)
Run Code Online (Sandbox Code Playgroud)

应该读

if($('input:radio[name=' + name_var + ']:checked').length > 0)
Run Code Online (Sandbox Code Playgroud)