jquery.form.js 带有选项 iframeTarget (适用于 FF,不适用于 IE)

发布于 2024-11-29 17:37:41 字数 1933 浏览 0 评论 0原文

我需要一个接口来将多个文件上传到 DMS,但我无法修改结果页面。

我有一个使用 jquery.form.js 的解决方案(不使用 iframeTarget),它适用于 FF,但不适用于 IE:在 IE 中,我上传了第一个文件,但在此之后,页面被重定向,第二个上传确实如此不工作。

我认为,主要问题是,结果页面进行了重定向,我期望在 IFrame 内部(对于 FF)但在页面上(对于 IE)。

通过 Firebug,我发现 Post 的结果包含这样的重定向,FF 会“忽略”该重定向,因此会上传以下文件。

为了更接近问题,它尝试使用 iframeTarget 选项。现在我在 FF 中遇到类似的问题:通过使用 iframeTarget="#myIFrame" 我有这个:

在 FF 中:

  • scirpt 中上传的第一个文件
  • 在 IFrame“#myIFrame”
  • 停止(以下文件未上传)

重定向在 IE 中

  • :第一个文件 在整个页面中上传
  • 重定向(并且以下字段不会上传)

如果我不使用 iframeTarget 选项,它会再次与 FF 一起使用(上传的所有文件没有任何重定向)。

主要问题:如何让它在 IE 中运行?

附带问题:使用“iframeTarget”选项对 FF 有什么区别? (可能是,这指向IE的解决方案)

基本代码:

    jQuery('#CreateFormUploadNew').submit(function() { 


    // submit the form 
    //jQuery(this).ajaxSubmit({
    //jQuery('#CreateFormUploadNew').ajaxForm({
    jQuery('#CreateFormUploadNew').ajaxSubmit({

        //iframe: false, //falls false, werden keine Files hochgeladen, true oder weglassen ....
        //clearForm: true, //nicht aktivieren, sonst fehlt der Name bei der suchen nach der ObjId
        //resetForm: true, //nicht aktivieren, sonst fehlt der Name bei der suchen nach der ObjId
        //dataType: 'script',
        iframeTarget: '#myIframe',
        beforeSubmit: function(a,f,o) {
            changeUploadValues(i)
            i++
        },
        success: function(data) {

            jQuery("#uploadFeedback").append("success started<br />");

            //...
            //some additional stuff like setting Meta Data
            //...

            if (i > 1) {
                changeUploadValues(i)
                jQuery('#CreateFormUploadNew').submit();
            }

        } //Success


    }); 
    // return false to prevent normal browser submit and page navigation 

    return false; //ajaxSubmit()
}); //submit

Thomas

i need a interface to upload multiple file to a DMS, where i can not modify the Result Page.

I have a solution with jquery.form.js (without using iframeTarget), which works fine for FF but does not work for IE: In IE i got the first file uploaded, but after this, the Page is redirected and the second upload does not work.

I think, the main Problem is, that the Resulting Page does a redirect, which i expect inside the IFrame (for FF) but on the page (for IE).

With Firebug i see, that the result of the Post contains such a redirect, wich is "ignored" by FF and so the following files are uploaded.

To get closer to the Problem it tried to use the option iframeTarget. Now i have a similar issue in FF: By using iframeTarget="#myIFrame" i have this:

in FF:

  • first file uploaded
  • redirct in the IFrame "#myIFrame"
  • scirpt stoped (the following files are not uploaded)

in IE:

  • first file uploaded
  • redirect in the whole page (and the followoing fiels are not uploaded)

If i do not use the iframeTarget option, it works again with FF (all Files uploaded without any redirect).

Main issue: how to get it working in IE?

Side Issue: what's the difference for FF by using this option "iframeTarget"? (May be, this points to the solution for IE)

basic code:

    jQuery('#CreateFormUploadNew').submit(function() { 


    // submit the form 
    //jQuery(this).ajaxSubmit({
    //jQuery('#CreateFormUploadNew').ajaxForm({
    jQuery('#CreateFormUploadNew').ajaxSubmit({

        //iframe: false, //falls false, werden keine Files hochgeladen, true oder weglassen ....
        //clearForm: true, //nicht aktivieren, sonst fehlt der Name bei der suchen nach der ObjId
        //resetForm: true, //nicht aktivieren, sonst fehlt der Name bei der suchen nach der ObjId
        //dataType: 'script',
        iframeTarget: '#myIframe',
        beforeSubmit: function(a,f,o) {
            changeUploadValues(i)
            i++
        },
        success: function(data) {

            jQuery("#uploadFeedback").append("success started<br />");

            //...
            //some additional stuff like setting Meta Data
            //...

            if (i > 1) {
                changeUploadValues(i)
                jQuery('#CreateFormUploadNew').submit();
            }

        } //Success


    }); 
    // return false to prevent normal browser submit and page navigation 

    return false; //ajaxSubmit()
}); //submit

Thomas

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文