0

我对 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中评估它时遇到问题。任何人都可以建议我如何使用一个小代码片段来完成它,该代码片段具有用于上述表单中使用的输入类型的任何名称。谢谢。

4

3 回答 3

0

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

<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]asgetElementById('myInput_0')或 all定位myInput[]getElementByClassName('myInput')

于 2013-04-10T22:03:41.130 回答
0

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

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

于 2013-04-10T22:31:28.003 回答
0

尝试 document.getElementsByName

https://developer.mozilla.org/en-US/docs/DOM/document.getElementsByName

于 2013-04-10T22:28:46.270 回答