Php 表格内部表格备选方案
我有一个相当奇怪的问题。我知道表单中的表单不是有效的HTML。但我需要一个解决方案,让我可以同时做一些事情Php 表格内部表格备选方案,php,forms,html,Php,Forms,Html,我有一个相当奇怪的问题。我知道表单中的表单不是有效的HTML。但我需要一个解决方案,让我可以同时做一些事情 我使用“tabifier”javascript库来创建选项卡。通过为每个选项卡使用具有特殊id的div创建不同的选项卡 我有一个主窗体,它围绕着所有选项卡,如下所示: <form id=......> <div id=...> </div> <div id=...> </div> </form>
- 我使用“tabifier”javascript库来创建选项卡。通过为每个选项卡使用具有特殊id的div创建不同的选项卡
- 我有一个主窗体,它围绕着所有选项卡,如下所示:
<form id=......> <div id=...> </div> <div id=...> </div> </form>
- 在其中一个选项卡中,我需要创建一个fileupload系统,它使用表单。如果我将此表单放置在“主表单”之外,它不会显示在选项卡布局中,而是单独显示
<form id=......> <div id=...> </div> <div id=...> </div> <div id='fileuploads'> <form id=......> </form> </div> </form>
- 我尝试将fileupload作为最后一个子选项卡移动,然后在最后一个子选项卡之前结束主窗体,但这样,窗体在tab div内结束。这也是无效的html李>
- 我猜document.getelementbyid(div.innerhtml)并像那样插入表单也不起作用
这是一个好的解决方案吗?将文件上载控件放置在外部表单中:
<form id=...>
<!-- other tabs go here -->
<div id="fileuploads">
<!-- your file upload controls and markup go here -->
</div>
<!-- other tabs go here -->
</form>
您可以在这里使用技巧。
首先,将原始包装形式留在原处
然后,如果在fileupload表单中放置submit按钮,则设置onsubmit事件,然后在发送表单之前,在fileuploads选项卡周围创建一个新表单,并删除外部表单。如果在此之后使用新表单id($(表单id)。在Prototype或document.getElementById(表单id)。在普通javascript中提交)发送表单,则新表单将在不使用外部表单元素的情况下发送 您可以使用
唯一的问题是,您必须为Internet Explorer提供一个JS回退(如Opi建议的),因为它根本不支持此属性。我建议将文件上载过程作为父表单的一部分,将其替换为某种形式的Ajax上载。在表单中玩弄表单永远不会奏效。关于您的更新:这将是一个很好的解决方案,但使用我的方法,您只需要将其应用于IE。所有其他浏览器都可以识别
表单
属性(这与JS基本相同)
<form id="fileuploads" action="http://yo.ur/target/" method="POST"></form>
<form id="mainform">
<div id="first_tab">
</div>
<div id="second_tab">
</div>
<div id="fileuploads">
<input type="text" name="desc" form="fileuploads">
<input type="file" name="file" form="fileuploads">
<input type="submit" value="Submit" form="fileuploads">
</div>
</form>