0

我创建了一个文件上传表单。我想上传数据,同时上传一个 ajax 调用,用 BOOTMETRO 主题提供的加载动画替换该页面中的 div。文件上传和 Ajax 分别运行良好。!但我想要一键两下。

所以当我单次按下提交按钮时:1)AJAX应该替换我页面中的划分2)然后文件上传应该正常开始。

我的 HTML 表单是:

<input name="file" type="file" class="btn btn-info" id="file" /><br/>

<button type="submit" value="Submit" name="submit" onclick="submit()">Submit File</button>
 </form>   

AJAX 部分

function submit()
    {
var xmlhttp;

    if (window.XMLHttpRequest)
      {// code for IE7+, Firefox, Chrome, Opera, Safari
      xmlhttp=new XMLHttpRequest();
      }
    else
      {// code for IE6, IE5
      xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
      }


    xmlhttp.onreadystatechange=function()
      {
      if (xmlhttp.readyState==4 && xmlhttp.status==200)
        {
          document.getElementById("fetchLoading").innerHTML=xmlhttp.responseText;
        }
      }

    xmlhttp.open("GET","loading.php" ,true);
            xmlhttp.send();
    xmlhttp.open("GET","upload_process.pgp",true);
    xmlhttp.send();
    }

请帮忙!或建议一种技术。(我正在使用引导地铁,我想将加载从 ajax 加载到我的文件中的 div 直到文件上传并且页面处于等待模式)

4

1 回答 1

1

您需要先发送 AJAX 调用,然后在收到响应时以编程方式触发文件上传。

所以你的提交按钮就像:

<button type="submit" value="Submit" name="submit" onclick="return submit()">Submit File</button>

您的submit函数应该返回false以防止表单提交。然后在您的 AJAX 响应中提交表单。

document.myform.submit();

替换myform为您的表单名称。

于 2013-03-18T07:36:52.300 回答