形式之外的表单元素

时间:2013-10-28 22:12:24

标签: php jquery html css forms

这就是我需要的:

<form>
   input field
   <form>
       input field
       submit
   </form>
   input field
   input field
   <form>
       input field
       submit
   </form>
   submit
</form>

我需要表单中的表单,因为我使用transloadit将文件上传到我的亚马逊桶。他们的工作方式如下:

<form id="MyForm" action="http://example.org/upload" enctype="multipart/form-data" method="POST">
  <input type="file" name="my_file" />
  <input type="submit" value="Upload">
</form>

所以我需要一个表单元素的整体表单来提交,其他表单以不同的方式提交。但是我不能在表格中放置表格。我怎么能这样做?

2 个答案:

答案 0 :(得分:2)

cannot have forms within forms

如果你需要触发“formlet”提交(比如你的transloadit示例),我建议你使用Javascript,尽管我猜测Transloadit有一种机制来做你正在尝试的任何事情(如果你澄清的话)在您的问题中,我可能会建议一种特定的方法。)

答案 1 :(得分:0)

您可以使用form属性指定输入所属的表单。例如:

  <form id="form2" action="/download.html"  method="POST"></form>
  <form id="form1" action="/upload.html" method="POST">

    <input type="file" name="my_file" form="form1" />
    <input type="submit" value="Upload" form="form1">


    <input type="text" name="my_file" form="form2" />
    <input type="submit" value="Download" form="form2">

  </form>

这应该适用于您的问题,但所有浏览器都不支持表单属性,并且您实际上不能将表单元素嵌套在彼此内部。像Chrome这样的浏览器将删除子表单元素,这就是为什么第二个表单元素在第一个表单元素之外但您可以将所有字段放在一个表单元素中。

在此处阅读有关表单属性的更多信息: http://www.impressivewebs.com/html5-form-attribute/

不要通过判断,但是,尽管我发现这很有趣,但这是一件非常奇怪的事情。