出现错误“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>
您遇到问题是因为您在 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();
}
})