1

WordpressサイトのDropboxアップローダーに問題があります。

'Uncaught TypeError:メソッド' submit'of undefined'を次の行で呼び出すことはできません:

$('#fileupload')
        .bind('fileuploadstop', function (e, data) {
           //window.location.href = 'http://hiphopsmurf.com';
             $('#multimages', top.document).val(upfiles);
             parent.document.forms["multi_image"].submit();
             //parent.tb_remove();
        });

ドキュメントコード全体は次のとおりです。

$(function () {
    'use strict';

    // Initialize the jQuery File Upload widget:
    $('#fileupload').fileupload();

    // Enable iframe cross-domain access via redirect option:
    $('#fileupload').fileupload(
        'option',
        'redirect',
        window.location.href.replace(
            /\/[^\/]*$/,
            '/cors/result.html?%s'
        )
    );

    if (window.location.hostname === 'blueimp.github.com') {
        // Demo settings:
        $('#fileupload').fileupload('option', {
            url: '//jquery-file-upload.appspot.com/',
            maxFileSize: 5000000,
            acceptFileTypes: /(\.|\/)(gif|jpe?g|png)$/i,
            process: [
                {
                    action: 'load',
                    fileTypes: /^image\/(gif|jpeg|png)$/,
                    maxFileSize: 20000000 // 20MB
                },
                {
                    action: 'resize',
                    maxWidth: 1440,
                    maxHeight: 900
                },
                {
                    action: 'save'
                }
            ]
        });
        // Upload server status check for browsers with CORS support:
        if ($.support.cors) {
            $.ajax({
                url: '//jquery-file-upload.appspot.com/',
                type: 'HEAD'
            }).fail(function () {
                $('<span class="alert alert-error"/>')
                    .text('Upload server currently unavailable - ' +
                            new Date())
                    .appendTo('#fileupload');
            });
        }
    } else {
        $('#fileupload').fileupload('option', {
            //maxFileSize: 5000000,
            maxFileSize: 1048576,
            //acceptFileTypes: /(\.|\/)(gif|jpe?g|png|psd)$/i,
            acceptFileTypes: /(\.|\/)(doc|docx|gif|jpg|jpeg|pdf|png|psd|tif|tiff)$/i,
            singleFileUploads: true,
            sequentialUploads: true,
            autoUpload: true,
                    });

        var upfiles = "";
        $('#fileupload')
        //.bind('fileuploaddrop', function (e, data) {$.each(data.files, function (index, file) {alert('Added file: ' + file.name);});})
        //.bind('fileuploaddrop', function (e, data) {$.each(data.files, function (index, file) { upfiles += file.name + ",";});})
        .bind('fileuploaddone', function (e, data) {$.each(data.files, function (index, file) { upfiles += file.name + ",";});})
        .bind('fileuploadchange', function (e, data) {/* ... */})

        //fail: function (e, data) {data.submit();}
        //.fileupload({fail: function (e, data) {alert('FAIL');}});
        ;

       $('#fileupload')
        .bind('fileuploadstop', function (e, data) {
           //window.location.href = 'http://hiphopsmurf.com';
             $('#multimages', top.document).val(upfiles);
             parent.document.forms["multi_image"].submit();
             //parent.tb_remove();
        });

    }

});

私はJavaスクリプトで一週間親切なので、助けていただければ幸いです。

4

1 に答える 1

0

一般に、JavaScript / jQueryを使用しているときに、「メソッドが未定義です」というエラーが表示された場合、セレクターに問題があります。

jQueryセレクターを使用してフォームを送信します。問題の行を次のように置き換えてみてください。

$('#multi_image').submit();

(これは、フォームに「multi_image」のid属性があることを前提としています)。

于 2013-01-06T15:38:11.890 に答える