Want to learn how to easily create javascript upload ajax with progress bar?
In this tutorial, you will learn how to easily create a progress bar during the AJAX file upload process.
Your progress bar width will gradually increased based on the progress completed.
Here is HTML form for file upload
<form method="post" enctype="multipart/form-data">
<input type="file" name="image" id="image" onchange="upload()"><br>
<progress id="progressBar" value="0" max="100" style="width:250px;"></progress>
<h2 id="status"></h2>
<p id="loadedtotal"></p>
</form>
Here is the javascript code for progress bar using ajax
<script type="text/javascript">
function _(el) {
return document.getElementById(el);
}
function upload() {
var file = _("image").files[0];
var formdata = new FormData();
formdata.append("image", file);
var ajax = new XMLHttpRequest();
ajax.upload.addEventListener("progress", progressHandler, false);
ajax.addEventListener("load", completeHandler, false);
ajax.addEventListener("error", errorHandler, false);
ajax.addEventListener("abort", abortHandler, false);
ajax.open("POST", "file_upload.php");
ajax.send(formdata);
}
function progressHandler(event) {
_("loadedtotal").innerHTML = "Uploaded " + event.loaded + " bytes of " + event.total;
var percent = (event.loaded / event.total) * 100;
_("progressBar").value = Math.round(percent);
_("status").innerHTML = Math.round(percent) + "% uploaded... please wait";
}
function completeHandler(event) {
_("status").innerHTML = event.target.responseText;
_("progressBar").value = 0;
}
function errorHandler(event) {
_("status").innerHTML = "Upload Failed";
}
function abortHandler(event) {
_("status").innerHTML = "Upload Aborted";
}
</script>
Here is the file upload php code
if (move_uploaded_file($_FILES['image']['tmp_name'], 'image/' . $_FILES['image']['name'])) {
echo 'Successfully Uploaded!';
} else {
echo 'Error in file upload.';
}
You finish a project, get paid, and then it's back to finding the next client.
Month after month, the cycle repeats.
That's why many web developers never build real financial freedom—even though they're highly skilled.
The developers creating long-term wealth are using those same skills to build SaaS products, plugins, and digital tools that generate recurring income.
What if your next project could pay you more than once?
Learn How To Build Monthly Income →