使用input type = hidden时的html验证错误

时间:2014-02-03 10:39:53

标签: html validation input

在尝试验证此表单的编码时,我不断收到错误消息。有人会盯着它看看你是否可以接受我没有的东西。

错误来自我编码中的这一行:

<?php if ($ContactID != '') { ?>
<input type="hidden" name="ContactID" value="<?php echo $ContactID ?>"/>
<?php } ?>

实际编码:

<!-- Form-->
<form name="editcontact" method="post" action="<?php echo htmlspecialchars($_SERVER['PHP_SELF']);?>"> 
<table border="1" cellpadding="2">
<caption>Edit Contact</caption>

<!--ID Input-->

<?php if ($ContactID != '') { ?>
<input type="hidden" name="ContactID" value="<?php echo $ContactID ?>"/>
<?php } ?>



<!--Name Input-->
<tr>
<td><label for="Name">Name</label></td>
<td><input type="text" name="Name" value="<?php echo $Name ?>" size="30" maxlength="50" tabindex="1"/>
</td>
</tr>


</table>
</form>

1 个答案:

答案 0 :(得分:2)

input不是table元素的有效子元素。您提供的代码将呈现:

<table>
    <input type="hidden" ... >
    ...
</table>

您应该将此隐藏的输入字段包装在tdth元素中,或将其完全移出表格之外:

<table>
    <tbody>
        <tr>
            <td>
                <input type="hidden" ... >
            </td>
        </tr>
        ...
    </tbody>
</table>

或者:

<input type="hidden" ... >
<table>
    ...
</table>