4

我有一个让我头疼的特殊问题...以下代码在 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 之前,文件正在上传时会显示“UPLOADING...”行。在 Safari 上,“上传...”行没有显示,一旦文件上传,它就会将我转移到 upload.php。

如果 Safari 不支持此功能,我该如何实现完全相同的功能?

感谢您的帮助!

4

1 回答 1

3

好的,我得到它的工作...

我没有使用“提交”按钮,而是将其更改为 id='send' 的“按钮”。我修改了脚本,首先在点击时显示 p 标签,然后在回调中添加表单提交,如下所示:

<script>
            $(document).ready(function () {

                $("#send").click(function () {

                    $("#loading").fadeIn(function () {
                        $("#upload").submit();
                    });

                });

            });
</script>

它现在适用于所有浏览器。在 IE、FF、Chrome 和 Safari 中测试。

于 2012-10-01T12:57:23.887 回答