1

我尝试用 JqueryFileUpload 小部件替换经典输入文件。

这是我的上下文:

  • 我可以以相同的形式输入一个或多个文件。

  • 该表单旨在创建服务器端对象(每个输入都是该对象的一个​​字段,每个文件都是链接到主要创建对象的“资源”对象)。这些对象存储在数据库中。

  • 当最终用户提交表单时,我想:

    • 做许多验证(对于其他输入)
    • 如果一切正常,则触发文件的 ajax 上传。服务器端处理程序创建所需的资源对象。
    • 当所有上传完成后(我可以通过使用小部件回调知道这一点),然后我提交主表单(操作表单不是小部件处理程序,而是完成工作并显示消息的页面)以创建主对象:我不想在这里发送文件,而只想发送处理程序发回给我的资源对象ID,以将它们链接到主对象)。

我的问题是,当我触发 fileUpload 提交表单并加载操作表单页面时。处理程序没有被调用。

我用一个简单的页面进行了测试:如果小部件不在表单中,它可以正常工作:

<body>
    <div>
        <!-- The file input field used as target for the file upload widget -->
        <input class="fileupload" type="file" name="files[]"/>
    </div>
</body>

但是如果我把它放在一个表单中,表单总是被提交,我无法阻止这一点。

<body>
    <form action="myPage.aspx">
        <!-- The file input field used as target for the file upload widget -->
        <input class="fileupload" type="file" name="files[]"/>
    </form>
</body>

我的问题是:

  • url 选项不会覆盖表单操作吗?

  • 我不能为小部件和包含它的表单使用不同的目标吗?

  • 我可以将多个小部件放在一个表单中吗?

4

1 回答 1

0

好吧,只是为了提供信息,这对我来说是一个非常愚蠢的错误,我使用了默认行为是“提交”,所以我的表单总是被提交。

于 2013-11-14T08:47:23.200 回答