我创建了一个文件上传表单。我想上传数据并同时上传一个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();
}
请帮忙!或建议一种技术。 (我正在使用boot metro,我想从ajax加载到我文件中的div加载,直到文件上传并且页面处于等待模式)
答案 0 :(得分:1)
您需要先发送AJAX呼叫,当您收到响应时,会以编程方式上传文件。
所以你的提交按钮就像:
<button type="submit" value="Submit" name="submit" onclick="return submit()">Submit File</button>
您的submit
函数应返回false
以阻止表单提交。
然后在AJAX响应中提交表单。
document.myform.submit();
将myform
替换为表单名称。