php - Javascript validation not working for checking file which is being uploaded ← (PHP, JavaScript, JQuery)
I am designing a form where a user has to upload a file. I am using javascript for client side validation if case the user has not uploaded a file, due to which the form will not be submitted. It is working for all the other fields in the form but not for the image file being upload. It is entering all the functions except for my image function
Here is an extract of the code:
<form action="<?php echo $_SERVER['PHP_SELF']?>" method="POST" onsubmit="return
validateForm()">
<h3>Select image:
<input type="file" name="fImg" id="fImge" accept="image/*">
</h3>
<input style="position: relative;top:-20px;left:10px; margin-bottom:5px ;
width:150px;height: 30px; float:right;background: #8B0000" type="submit" name="submit"
value="Save Changes">
</form>
<script>
function validateForm()
{
if(!checkBlankImageById('fImge', 'Please choose an image'))
return false;
return true;
} //end validateForm()
</script>
and in my external js file
function checkBlankImageById(obj_id, obj_label)
{
alert('entered');
if($("#" + obj_id).files.length ==0)
{
alert(obj_label);
return false;
}
return true;
}
Answer
Solution: Source
How to check if input file is empty in jQuery
jQuery
if ($("#"+obj_id).get(0).files.length === 0) {
console.log("No files selected.");
}
Vanilla Javscript
if( document.getElementById("videoUploadFile").files.length == 0 ){
console.log("no files selected");
}
Explanation : You are trying vanilla javascript way of getting the length of the files from jQuery Object
Source
See also:
About the technologies asked in this question PHP PHP (from the English Hypertext Preprocessor - hypertext preprocessor) is a scripting programming language for developing web applications. Supported by most hosting providers, it is one of the most popular tools for creating dynamic websites.
The PHP scripting language has gained wide popularity due to its processing speed, simplicity, cross-platform, functionality and distribution of source codes under its own license.https://www.php.net/
JavaScript JavaScript is a multi-paradigm language that supports event-driven, functional, and mandatory (including object-oriented and prototype-based) programming types. Originally JavaScript was only used on the client side. JavaScript is now still used as a server-side programming language. To summarize, we can say that JavaScript is the language of the Internet.https://www.javascript.com/
JQuery JQuery is arguably the most popular JavaScript library with so many features for modern development. JQuery is a fast and concise JavaScript library created by John Resig in 2006. It is a cross-platform JavaScript library designed to simplify client-side HTML scripting. Over 19 million websites are currently using jQuery! Companies like WordPress, Facebook, Google, IBM and many more rely on jQuery to provide a kind of web browsing experience.https://jquery.com/
Welcome to programmierfrage.com
programmierfrage.com is a question and answer site for professional web developers, programming enthusiasts and website builders. Site created and operated by the community. Together with you, we create a free library of detailed answers to any question on programming, web development, website creation and website administration.
Get answers to specific questions
Ask about the real problem you are facing. Describe in detail what you are doing and what you want to achieve.
Help Others Solve Their Issues
Our goal is to create a strong community in which everyone will support each other. If you find a question and know the answer to it, help others with your knowledge.