【问题标题】:Using nested forms in html document在 html 文档中使用嵌套表单
【发布时间】:2011-08-07 13:44:18
【问题描述】:

我正在尝试在我的 html 文档中将一种形式设置为另一种形式,如下所示:

<form1 action="1.php">
some form elements
...................
<form2 enctype="multipart/form-data" action="upload.php" target="upload_target" onsubmit="startUpload();>
<input name="myfile" type="file"/>
<input type="submit" name="submitBtn" class="sbtn" value="Upload" />
</form>
</form>
<iframe id="upload_target" name="upload_target" src="#"></iframe>

第一个表单从用户那里获取数据并插入到我的数据库中。 第二种形式使用 jquery 和 iframe 进行文件上传,如下例所示: upload file with iframe and jquery

我正在尝试以这种方式上传文件,因为我无法通过简单地使用 javascript(使用 ajax)将数据传输到 php 文件来做到这一点。问题是 w3c 标准不支持嵌套表单。我能做些什么来解决这个问题? 感谢您的帮助,并为我糟糕的英语感到抱歉。

【问题讨论】:

    标签: php jquery html ajax


    【解决方案1】:

    我曾经遇到过同样的问题,所以这是我的建议:您可以将 form2 放在不同的容器中,例如div 位于 form1 之外,并使用 css(z-index、绝对位置或类似的东西)调整其位置,使其看起来像一种形式。

    这种方法的缺点很明显,但只要稍加努力,您就可以将它们处理到一定程度。

    另一个建议:由于您无论如何都在使用 javascript,请将上传表单外包给一个不可见的 div,并通过单击/悬停上传按钮或输入 form1 的最后一个字段或其他方式使其弹出。

    【讨论】:

      【解决方案2】:

      你不能有嵌套形式。尽量避免它并分离出如下表格。如果您从其他表单中获取数据,则在提交任何表单时,请在此表单中创建一个隐藏字段并提交。

      <form1 action="1.php">
      some form elements
      ...................
      
      </form>
      
      <form2 enctype="multipart/form-data" action="upload.php" target="upload_target" onsubmit="startUpload();>
      <input name="myfile" type="file"/>
      <input type="submit" name="submitBtn" class="sbtn" value="Upload" />
      </form>
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-09-19
        • 2018-03-09
        • 2011-10-20
        • 2018-12-25
        • 2015-04-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多