0

我有以下代码,一旦上传文件,它应该会向表单返回一个随机字符串。之前添加onUploadSuccess代码,它工作正常,但如果我尝试上传多个文件,每个文件将具有相同的 ID。我使用 PHP 来生成随机 ID 修复了这个问题,但现在我在更新表单时遇到了问题。

我要更新的 ID 是“数据”,但是当我上传文件时,出现Uncaught TypeError: Object [object Object] has no method 'call'错误。

如果有人能指出我正确的方向,将不胜感激。如果您需要更多信息,请告诉我。

Javascript:

<script>
        var sessid = ''; 
        $(document).ready(function() {

            $('#myModal').modal({show: false});
            $('#mm').modal({show: false});

                $('#file_upload').uploadify({
                    'fileObjName': 'file',
                    'fileSizeLimit': '8MB',
                    'buttonText': 'BROWSE FILE(S)...',
                    'fileTypeExts': '*.JPEG; *.GIF; *.PNG; *.APNG; *.TIFF; *.BMP; *.PDF; *.XCF',
                    'cancelImg': 'uploadify-cancel.png',
                    'swf': 'uploadify.swf',
                    'uploader': 'uploadify.php',
                    'auto': false,
                    'onUploadSuccess': $("data").livequery(function(file, data, response){
                            document.getElementById("data").innerHTML=data;
                    })
                });
          });
    </script>

PHP:

<?php
if ( is_uploaded_file( $_FILES['file']['tmp_name'])) {

$tempFile = $_FILES['file']['tmp_name'];
$fileParts = pathinfo($_FILES['file']['name']);
$randName = substr(sha1_file($_FILES['file']['tmp_name']), rand(0,30), 7);
$targetFile = 'uploads/'.$randName.'.' . $fileParts['extension'];

move_uploaded_file($tempFile,$targetFile);
echo $randName;
} else {
echo 'Malformed data';
}
?>
4

1 回答 1

1

我认为您的问题是您需要将函数定义提供给“onUploadSuccess”选项;摆脱$("data").livequery( )

采用:

'onUploadSuccess': function(file, data, response){ 
                            document.getElementById("data").innerHTML=data; 
                    }
于 2012-09-08T15:16:40.550 回答