jquery - $ ('#fileupload' ).fileupload 函数未调用

标签 jquery blueimp

我正在配置 blueimp 以在单击发布按钮时上传图像。我的问题是它没有调用 $('#fileupload').fileupload 函数。我已经包含了以下 javascript 文件。以下是我的代码,请看看有什么问题。

<head>
    <script  type="text/javascript" src="../../js/jquery.min.js"></script>
    <script  type="text/javascript" src="../../js/jquery-ui.js"></script>
    <script  type="text/javascript" src="../../js/jQuery-File-Upload-master/js/jquery.fileupload.js"></script>
    <script type="text/javascript" src="../../js/jQuery-File-Upload-master/js/vendor/jquery.ui.widget.js"></script>
    <script type="text/javascript" src="../../js/jQuery-File-Upload-master/js/jquery.iframe-transport.js"></script>
    <script  type="text/javascript">
        $('#fileupload').fileupload({
            dataType : 'json',
            url : "ownmessages",
            add: function (e, data) {
                $('#post') .click(function () {
                    $('#post').text('Uploading...');
                    data.submit();
                });
            },
            done: function (e, data) {
                $('#post').text('Upload finished.');
            }
        });
    </script>
</head>
<body>
    <s:form action="ownmessages" enctype="multipart/form-data" method="post">
        <s:textarea rows="2" cols="40" name="message" id="message1"></s:textarea><br>
        <s:select name="msg_visibility" id="msg_visibility" list="#{'public':'Public', 'friends':'Friends','me':'Me only'}" value="public"/>
        <input id="fileupload" type="file" name="user_post_image[]"  data-url="ownmessages"/>
        <input type="button" value="Post" id="post" />
    </s:form>
</body>

最佳答案

您需要等待文档完成加载,然后才能尝试选择任何元素。 jQuery .ready() 方法等待文档对象模型 (DOM) 完成加载,然后运行脚本。

$(document).ready(function() {
  $('#fileupload').fileupload({
        dataType : 'json',
        url : "ownmessages",
        add: function (e, data) {
            $('#post') .click(function () {
                $('#post').text('Uploading...');
                data.submit();
            });
        },
        done: function (e, data) {
            $('#post').text('Upload finished.');
        }
    });
});

除了使用 .ready(),您也可以只将函数传递给 jQuery。

$(function() {
    // will run after DOM is loaded
});

关于jquery - $ ('#fileupload' ).fileupload 函数未调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14788066/

相关文章:

html - 上传输入框

javascript - 如何从 HTML 表单向 Controller 提供数据

jquery - 数据表动态隐藏/显示列太慢

javascript - json - 无法访问 json 参数

html - Bootstrap Image Gallery - 自定义 CSS 预加载器

javascript - 通过 iframe 在 IE 11 中拖放文件不起作用

php - Blueimp jQuery 文件上传插件 - "Empty file upload"结果 PHP

jquery - 415 不支持的媒体类型从 $.ajax 调用 WCF 服务

javascript - 清除有关更改/隐藏禁用属性的 jquery.validate 错误消息

javascript - jQuery 文件上传不会在 IE9 中发送文件