2013-10-28 72 views
0

我试图验证“修改”表单。数据是从数据库中接收的,所以当然我必须把它放在一段时间。验证不起作用的表单

<?php 
    while ($row = mysql_fetch_array($categories)) 
    { 
    ?> 
<form name="adminEditCategory" action="../db/adminModifyCategory.php" method="POST" enctype="multipart/form-data" > 
    <tr>  
    <td> 


    <input type="text" name="id" value="<?php print $row['id']; ?>" readonly="readonly" style="width: 20px;" /> 

    </td> 
    <td> <input type="text" name="name<?php print $row['id']; ?>" value="<?php print $row['name']; ?>" /><span></span> 
    </td> 
    <td> <img src="../utils/getLogoCategory.php?id=<?php print $row['id']; ?>" style="max-width:40px; max-height:40px; float: left; margin-bottom: 10px;" align="left" /> </td> 
    <td> 
    <input type="file" name="attachment<?php print $row['id']; ?>" value="" style="float: right; "><span></span> 
    </td> 
    <td> <?php print date('d-m-Y', strtotime($row['added_date'])); ?> 
    </td> 
    <td> 
    <select width="294" name="is_deleted<?php print $row['id']; ?>" style="width: 50px;"> 
        <?php    

         foreach($is_deleted as $id=>$name) 
         { 
         ?> 
          <option value="<?php print $id; ?>" <?php if($id == $row['is_deleted']) print "selected= 'selected'"; ?> ><?php print $name; ?></option> 
          <?php 
         } 
        ?> 
        </select><span></span> 
    </td> 
    <td> <input type="submit" value="Modifica" name="Edit" class="button" onClick="return validateEditCategory(<?php print $row['id']; ?>)" /> 
    <input type="submit" value="Sterge" class="button" name="Delete" onClick="return validateDeleteCategory()"> 

    </td> 

    </tr></form> 
    <?php 
    } 
    ?> 

这是验证码:

function validateEditCategory(Id) { 
    var valid; 
     valid = true; 
     // alert (document.forms["adminEditCategory"]["name"+Id].name); 
     valid *= checkNume(document.forms["adminEditCategory"]["name"+Id]); 
     valid *= checkIsFileGol(document.forms["adminEditCategory"]["attachment"+Id]); 

     return valid > 0; 
    } 

验证工作,但只有第一行。我不明白为什么它不验证其余的行。

回答

1

尝试修改此<form name="adminEditCategory" action=
这个<form name="adminEditCategory<?php print $row['id']; ?>" action=

document.forms["adminEditCategory"]
这个document.forms["adminEditCategory" + Id]


替换时,您可以减少附加到输入名称的所有ID。问题是,给所有表格提供不同的名称,但在每个表格中,您可以调用所有字段,因为您已经通过了 <input name='id'>中的ID。但这不是必要的,只是更短,更合乎逻辑。