如何在javascript中验证具有相同名称的多个相同类型的输入

时间:2013-04-10 21:57:18

标签: php javascript html forms validation

我对Javascript有点新鲜。我有一个具有多种输入类型的html表单,但具有相同的名称,出现多种类型。我需要在将表单中的数据插入数据库之前验证表单。我能够在没有JS验证的情况下更新并插入到数据库中,但由于处理具有相同名称的输入的复杂性,我无法使用javascript执行验证部分。 这是表格:

    <form name="confirmation" method="post" action="appointment.php" onsubmit="return check()">

        <label>Restaurant Name: </label>
        <input name="r_name[]" type="text" value="<?php echo $row[0]?>"><br>
        <label>Appointment Date: </label>
        <input name="app_date[]" type="date" value="<?php echo $row[1]?>"><br>
        Confirm:<select name="confirm[]"> 
            <option value=""></option>
            <option value="yes">Yes</option>
            <option value="no">No</option>
        </select><br><br>

    </form>

这是更新数据库的php代码:

<?php 
if(isset($_POST['submit'])){
    $names= $_POST['r_name'];
    $dates=$_POST['app_date'];
    $confirm=$_POST['confirm'];
    //echo $count;
    for($i=0;$i<$count;$i++){
    //echo "success";
        $value=$confirm[$i];
        if($value=="yes")
            $value="y";
        else 
            $value="n";
      //  echo $value;
        $result= mysql_query("update appointment set confirm='".$value."' where rname='".$names[$i]."';");
    }                       
}?>

要将表单中具有相同名称的数据插入/更新到数据库中,我必须将[]与其各自的名称相关联,这是一个简单的方法。但我有问题在javascript中为验证部分评估它。任何人都可以建议我如何使用一个小代码片段来完成它,其中包含上述表单中使用的输入类型的任何名称。感谢。

3 个答案:

答案 0 :(得分:0)

如果name对于多个输入元素是相同的,如果要定位特定元素,则可以在元素上使用唯一id,或者可以使用class es定位一组相似的元素。

<form>
    <input name="myInput[]" id="myInput_0" class="myInput" type="text" value="">
    <input name="myInput[]" id="myInput_1" class="myInput" type="text" value="">
    <input name="myInput[]" id="myInput_2" class="myInput" type="text" value="">
</form>

现在,您可以将myInput[0]定位为getElementById('myInput_0')或将所有myInput[]定位为getElementByClassName('myInput')

答案 1 :(得分:0)

答案 2 :(得分:0)

您可以使用此jquery库http://www.position-relative.net/creation/formValidator/demos/demoValidators.html

您可以在执行提交帖子后使用此验证,并且librery会进行所有验证。