4

我有一个表格,其中包含输入的问题列表,然后是上传文件的邀请(如果有的话)。

我通过弹出包含上传的表单来避免嵌套表单。困难在于,如果他们在 Uploader 表单上按下提交,它将处理目标页面上的上传,同样,如果他们在表单的其余部分点击提交,则不会提交上传。

我怎样才能同时做这两个?

我的代码:

<form id="questions" action="page2.php" method="POST">
    Question 1 <input name="q1"/>
    Question 2 <input name="q2" />  
    Have any files to add? <button id="upload-button">Upload</button>
    <input type="submit" value="Submit Answers" />
</form>


<div class="hidden">
    <form id="fileupload" enctype="multipart/form-data" action="uploader.php" method="POST">
        <input id="fileupload" type="file" name="files[]"  multiple>
        <input  type="submit" value="Upload Files" />
    </form>
</div>

如果有人按下按钮添加文件,jQuery 会弹出隐藏的 div。

我没有将它们发布到同一个地方的问题,但我尝试使用 javascript 来使用每个按钮的点击事件来提交两个表单,但它不起作用。(后面读栈溢出解释了,只有最后一次提交是这样处理的)

有任何想法吗?谢谢

4

1 回答 1

4

非常简单,像这样构建您的 HTML,并一次性处理来自 page2.php 和 uploader.php 的逻辑(即在 page2.php 中包含文件上传逻辑)。如果您向我们展示这两个文件的内容,我可以向您展示如何组合它们。

还添加了带有关联输入链接的标签,并将提交输入交换为按钮元素。

<form id="questions" enctype="multipart/form-data" action="page2.php" method="POST">
    <label for="q1">Question 1</label>
    <input id="q1" name="q1" type="text" />

    <label for="q2">Question 2</label> 
    <input id="q2" name="q2" type="text" />  

    <label for="fileupload">Upload a File<label>
    <input id="fileupload" type="file" name="files[]"  multiple />

    <button type="submit">Submit</button>
</div>
于 2012-11-28T02:15:37.817 回答