表单标记之外的表单属性的输入不会提交

时间:2015-07-08 14:53:16

标签: html5

我在表单之外有一些输入,由于某种原因提交表单时不会提交。

<td>
    <input type='text' form='editform' name='id' value='LIT'>
</td>
<td>
    <input type='text' form='editform' name='name' value='Lituanie'>
</td>

<td>
    <form action="datamanager" method="POST" id="editform" class="editform">
        <input required readonly type="hidden" name="target" value="Country"/>
        <input required readonly type="hidden" name="idEdit" value="LIT"/>
        <input required readonly type="hidden" id="status" name="status" value="validate"/>
    <input type="submit" name="submitEdit" class="validate-submit" value="" title="Validate"/>
</form>

表单中的3个输入正确提交(target,idEdit和status)但id和name输入不会提交。 最奇怪的部分是,如果我从chrome的开发人员工具更改输入的表单属性和表单的ID,那么它就可以工作了。这就好像浏览器无法识别它们是否已链接到表单,除非我在开​​发人员工具中更改它...

任何可能导致这种情况的想法?我整个下午都被困在了这个应该是2分钟的事情......

3 个答案:

答案 0 :(得分:1)

只有表单内部的输入才能被提交。因此您必须使用表单标记进行环绕,或者您应该将主题放入现有表单中。

答案 1 :(得分:0)

除非您指定了input属性,否则表单中只会提交form个元素。

选项1 - 将所有内容都放在<form>

<form action="datamanager" method="POST" id="editform" class="editform">
<td>
    <input type='text' form='editform' name='id' value='LIT'>
</td>
<td>
    <input type='text' form='editform' name='name' value='Lituanie'>
</td>
<td>
    <input required readonly type="hidden" name="target" value="Country"/>
    <input required readonly type="hidden" name="idEdit" value="LIT"/>
    <input required readonly type="hidden" id="status" name="status" value="validate"/>
    <input type="submit" name="submitEdit" class="validate-submit" value="" title="Validate"/>
</td>
</form>

选项2 - 添加form属性

如果您想保留原始代码,请将form属性添加到input代码之外的<form>

<input type="text" name="lname" form="form1">

重要提示:选项2在IE中不起作用。请务必阅读http://www.w3schools.com/tags/att_input_form.asp,了解有关form属性的更多信息。

答案 2 :(得分:0)

在Html中,只提交表格标签中的那些输入。

如果HTML中有多个表单标记,则只提交“提交”形式的表单标记

相关问题