我有一个特殊的问题让我感到头痛......下面的代码在Firefox中完美运行,但在Mac OS上没有在Safari中运行。
我想在上传文件时显示简单的“正在加载邮件”。所以我的页面看起来像这样:
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js" type="text/javascript"></script>
<script>
$(document).ready(function () {
$('#upload').on('submit', function () {
$("#loading").fadeIn();
});
});
</script>
</head>
<body>
<p id="loading" style="display:none">UPLOADING...</p>
<form name="upload" id="upload" method="post" action="upload.php" enctype="multipart/form-data">
<input type='file' name='file[]' multiple/>
<input type="submit" value="Upload..."/>
</form>
</body>
</html>
在Firefox上,在上传文件之前,“上传...”行显示在将我转移到upload.php之前。在Safari上,“上传...”行不显示,一旦文件上传,它就会将我转移到upload.php。
如果这是Safari不支持的内容,我该如何实现完全相同的功能呢?
感谢您的帮助!
答案 0 :(得分:3)
好的,我让它运转了......
而不是“提交”按钮,我通过id ='send'的'按钮'更改了它。我修改了脚本,首先在点击时显示p标签,然后在回调中添加表单提交,如下所示:
<script>
$(document).ready(function () {
$("#send").click(function () {
$("#loading").fadeIn(function () {
$("#upload").submit();
});
});
});
</script>
它现在适用于所有浏览器。在IE,FF,Chrome和Safari中测试过。