带有选项iframeTarget的jquery.form.js(适用于FF,在IE中不起作用)

时间:2011-08-15 08:44:35

标签: jquery ajax forms multifile-uploader

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

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

我认为,主要的问题是,结果页面会进行重定向,我希望在IFrame(对于FF)中,但在页面上(对于IE)。

使用Firebug我看到,Post的结果包含这样的重定向,FF被“忽略”,因此上传了以下文件。

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

在FF中

  • 首次上传文件
  • IFrame中的redirct“#myIFrame”
  • scirpt stoped(以下文件未上传)
IE中的

  • 首次上传文件
  • 在整个页面中重定向(并且不会上传后续的fiels)

如果我不使用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

托马斯

0 个答案:

没有答案