上传文件页面出现函数未定义错误

问题描述 投票:0回答:2
javascript html perl
2个回答
0
投票

出现错误“Uncaught ReferenceError: uploadFile is not Define”是因为 uploadFile 函数是在 $(document).ready 函数内部定义的,这使得它无法在全局范围内访问。 HTML 中的 onchange 属性尝试从全局范围访问 uploadFile,因此出现错误。

要解决此问题,您应该将 uploadFile 函数移到 $(document).ready 函数之外。

<script>
    function uploadFile() {
        // Get the form element
        var form = document.getElementById('uploadForm');
        
        // Submit the form
        form.submit();
    }

    $(document).ready(function(){
        // Other jQuery code can go here
    })
</script>
<form id="uploadForm" action="https://gpstest.surveybook.net/upload/upload.cgi" method="post" enctype="multipart/form-data">
    <label for="file_upload">Select a file:</label>
    <input type="file" name="file_upload" id="file_upload" onchange="uploadFile()"><br>
</form>


-1
投票

您遇到问题是因为您在 DOM 加载后定义函数。在这里,您有两种更新脚本的选项:

$(document).ready(function(){
    //Other codes
})
function uploadFile(){
    // Get the form element
    var form = document.getElementById('uploadForm');
        
    // Submit the form
    form.submit();
}

var uploadFile;
$(document).ready(function(){
    uploadFile = function(){
        // Get the form element
        var form = document.getElementById('uploadForm');
        
        // Submit the form
        form.submit();
    }
})
© www.soinside.com 2019 - 2024. All rights reserved.