SlideShare a Scribd company logo
Submit form with Ajax and
jQuery without reloading page
October 9, 2022 by Pawan
Table of Contents
● Introduction
● Powerful Combo of jQuery + Ajax
● UI Code of HTML Form
● The logic of Submitting Form without reload
● PHP Code to link Database
● Final process
● Conclusion
Introduction
Howdy friends, these days when people fill out a form on webpages they want
an instant response!
So today in this article, we will show you how to submit form with Ajax and
jQuery without reloading the page. Yup! your form will be submitted but the
webpage won’t refresh at all. To achieve this we will use our trusted jQuery
and Ajax.
But Ajax is the key here!
Because it allows us to send and receive data without refreshing our
webpage. Don’t worry I will explain it in detail in the next section.
You can use our code in combination with PHPMailer or Sendgrid to send
emails as well. And send emails without any refresh or reload. Meaning with
Ajax form submit without refresh, you can build applications where you can
submit the form and display the results on the same page.
Anyway, let’s learn the basics first of jQuery and Ajax.
Powerful Combo of jQuery + Ajax
Modern web development won’t exist without JavaScript. And jQuery is one of
the most used JS libraries you can think of in modern web development. But
ever since its release Ajax has joined its ranks because of vital things we can
do with Ajax.
Remember, Ajax also called Asynchronous JavaScript And XML is not a
framework or library, or even a language itself. Instead, Ajax is a web
development technique to send and receive data asynchronously. If want to
know more read this MDN article about Ajax.
How AJAX works behind the scene
Could we simply use Ajax without jQuery?
The answer is: YES! But no one does that unless you want to write verbose
Ajax submit form PHP code. jQuery makes writing Ajax simpler and more fun.
Now that we know why we are going to submit form with Ajax and jQuery
together. Let’s go into the coding section:
UI Code of HTML Form
First, we must design the UI. With Bootstrap handling CSS, we will design our
UI which look like this:
How UI should look for the jQuery submit form with Ajax
To build our UI, our main file is: “index.html“.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width,
initial-scale=1.0">
<title>jQuery submit form with Ajax</title>
<link
href="https://cdn.jsdelivr.net/npm/bootstrap@5.2.2/dist/css/bootst
rap.min.css" rel="stylesheet">
<link
href="https://fonts.googleapis.com/icon?family=Material+Icons"
rel="stylesheet">
</head>
<body>
<h3 class="py-2 text-center mb-4">jQuery Submit Form with
Ajax</h3>
<div class="container">
<div class="card mx-auto p-3" style="width: 20rem;">
<div class="card-body">
<form action="post.php" id="submitform" method="post">
<div class="input-group mb-4">
<span class="input-group-text"><i class="large
material-icons">account_circle</i></span>
<input type="text" class="form-control"
placeholder="Username" name="username">
</div>
<div class="input-group mb-4">
<span class="input-group-text"><i class="large
material-icons">email</i></span>
<input type="email" class="form-control"
placeholder="Email Address" name="email">
</div>
<div class="input-group mb-4">
<span class="input-group-text"><i class="large
material-icons">fingerprint</i></span>
<input type="password" class="form-control"
placeholder="Password" name="password">
</div>
<div class="text-center">
<button type="submit" class="btn btn-success"
name="submit">Submit</button>
</div>
</form>
</div>
<div class="result text-center"></div>
</div>
</div>
<script
src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<script
src="https://cdn.jsdelivr.net/npm/bootstrap@5.2.2/dist/js/bootstra
p.bundle.min.js"></script>
</body>
</html>
At this point in time, our UI will look like this for our jQuery Submit form with
Ajax. Next, we code the logic which makes our form gets submitted without
any reloading.
The logic of Submitting Form without
reload
As we explained at the start, Ajax is the main technique to send our data to
the server and receive data at the same time. Then we display this data at UI.
● We use the submit() jQuery function to submit our form. Though
we need to provide an id to identify our form.
● Next, we inject the event.preventDefault() function which
removes the default functionality of submit button click.
● jQuery Ajax function $.ajax() or jQuery.ajax() is the main
function which send or receive data. It has certain argument
requirements like
○ Type: post or get method
○ URL: Url of file such as in this case “post.php“
○ data: here we write code that processes the data we
receive from the form. In our jQuery submit form with
Ajax, we are utilizing serialize() jQuery to collect data
from the form.
$('#submitform').submit(function (event) {
event.preventDefault();
$.ajax({
type: "POST",
url: "post.php",
data: $(this).serialize(),
success: function (data) {
console.log(data);
$('.result').html(data);
}
});
});
Now that we completed most of the code. Let’s move to the coding part where
we insert the data into the database.
PHP Code to link Database
For this form submission, we are collecting data and sending it to our MySQL
database. If you want to know how to build a simple DB read this.
To insert data into MySQL we use PHP as a backed powerhouse. For that
purpose, we have a simple PHP file: “post.php“.
<?php
$username = $_POST['username'];
$email = $_POST['email'];
$password = $_POST['password'];
$connect = mysqli_connect('localhost', 'root', '', 'ajax_form');
$sql = "insert into form_data (username, email, password)
values('$username', '$email', '$password')";
if (mysqli_query($connect, $sql)) {
echo "Data Inserted Successfully!";
} else {
echo "Data failed to be inserted!";
}
Now that we are almost finished with UI and Logic part of our form. Let’s move
on to the SQL part.
Feel free to run the below code to build a quick SQL Table.
CREATE TABLE `form_data` (
`id` int(11) NOT NULL,
`username` varchar(255) NOT NULL,
`email` varchar(255) NOT NULL,
`password` varchar(255) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
Below is the image of how your UI will look after we submit form without
reloading the page jQuery.
How jQuery submit form with ajax look
Final process
After filling out the form you can view your submitted data in the database.
Below is the image explaining how your database should look like for our Ajax
Submit form PHP.
Database for jQuery Submit Form with Ajax.
Feel free to download our code from GitHub Repo or check out the demo:
Code Download from Github Demo
Conclusion
We hope that you enjoyed our article on how to submit forms with Ajax and
jQuery. Feel free to comment on this article if you have any questions. Thank
you for reading, we are always excited when one of our posts is able to
provide useful information on a topic like this!
Also, check out our post about building a PHP shopping cart with the session,
and if you need a payment gateway then check out the Razorpay integration
guide.
Ta-da! Thanks for reading! Keep Coding.

More Related Content

Similar to Submit form with Ajax and jQuery without reloading page.pdf

jQuery
jQueryjQuery
jQuery
i.omar
 
ajax_pdf
ajax_pdfajax_pdf
ajax_pdf
tutorialsruby
 
ajax_pdf
ajax_pdfajax_pdf
ajax_pdf
tutorialsruby
 
How to build integrated, professional enterprise-grade cross-platform mobile ...
How to build integrated, professional enterprise-grade cross-platform mobile ...How to build integrated, professional enterprise-grade cross-platform mobile ...
How to build integrated, professional enterprise-grade cross-platform mobile ...
Appear
 
JavaScript Libraries
JavaScript LibrariesJavaScript Libraries
JavaScript Libraries
Daminda Herath
 
Laravel 8 export data as excel file with example
Laravel 8 export data as excel file with exampleLaravel 8 export data as excel file with example
Laravel 8 export data as excel file with example
Katy Slemon
 
Introduction to jQuery
Introduction to jQueryIntroduction to jQuery
Introduction to jQuery
Nagaraju Sangam
 
Session - 1 Forms and Session management.pptx
Session - 1 Forms and Session management.pptxSession - 1 Forms and Session management.pptx
Session - 1 Forms and Session management.pptx
imjdabhinawpandey
 
Integrating dialog flow (api.ai) into qiscus sdk chat application
Integrating dialog flow (api.ai) into qiscus sdk chat applicationIntegrating dialog flow (api.ai) into qiscus sdk chat application
Integrating dialog flow (api.ai) into qiscus sdk chat application
Erick Ranes Akbar Mawuntu
 
Having Fun Building Web Applications (Day 1 Slides)
Having Fun Building Web Applications (Day 1 Slides)Having Fun Building Web Applications (Day 1 Slides)
Having Fun Building Web Applications (Day 1 Slides)
Clarence Ngoh
 
Ajax3
Ajax3Ajax3
ASP.NET MVC 5 Building Your First Web Application (A Beginner S Guide
ASP.NET MVC 5  Building Your First Web Application (A Beginner S GuideASP.NET MVC 5  Building Your First Web Application (A Beginner S Guide
ASP.NET MVC 5 Building Your First Web Application (A Beginner S Guide
Alicia Buske
 
How to develop an API with PHP, JSON, and POSTMAN in 9 Steps.pdf
How to develop an API with PHP, JSON, and POSTMAN in 9 Steps.pdfHow to develop an API with PHP, JSON, and POSTMAN in 9 Steps.pdf
How to develop an API with PHP, JSON, and POSTMAN in 9 Steps.pdf
Be Problem Solver
 
Lesson 202 02 oct13-1800-ay
Lesson 202 02 oct13-1800-ayLesson 202 02 oct13-1800-ay
Lesson 202 02 oct13-1800-ay
Codecademy Ren
 
Writing and Testing JavaScript-heavy Web 2.0 apps with JSUnit
Writing and Testing JavaScript-heavy Web 2.0 apps with JSUnitWriting and Testing JavaScript-heavy Web 2.0 apps with JSUnit
Writing and Testing JavaScript-heavy Web 2.0 apps with JSUnit
Alex Chaffee
 
Boost your angular app with web workers
Boost your angular app with web workersBoost your angular app with web workers
Boost your angular app with web workers
Enrique Oriol Bermúdez
 
Understanding router state in angular 7 passing data through angular router s...
Understanding router state in angular 7 passing data through angular router s...Understanding router state in angular 7 passing data through angular router s...
Understanding router state in angular 7 passing data through angular router s...
Katy Slemon
 
Loadrunner
LoadrunnerLoadrunner
Loadrunner
Kenneth Kufluk
 
Simple ado program by visual studio
Simple ado program by visual studioSimple ado program by visual studio
Simple ado program by visual studio
Aravindharamanan S
 
Simple ado program by visual studio
Simple ado program by visual studioSimple ado program by visual studio
Simple ado program by visual studio
Aravindharamanan S
 

Similar to Submit form with Ajax and jQuery without reloading page.pdf (20)

jQuery
jQueryjQuery
jQuery
 
ajax_pdf
ajax_pdfajax_pdf
ajax_pdf
 
ajax_pdf
ajax_pdfajax_pdf
ajax_pdf
 
How to build integrated, professional enterprise-grade cross-platform mobile ...
How to build integrated, professional enterprise-grade cross-platform mobile ...How to build integrated, professional enterprise-grade cross-platform mobile ...
How to build integrated, professional enterprise-grade cross-platform mobile ...
 
JavaScript Libraries
JavaScript LibrariesJavaScript Libraries
JavaScript Libraries
 
Laravel 8 export data as excel file with example
Laravel 8 export data as excel file with exampleLaravel 8 export data as excel file with example
Laravel 8 export data as excel file with example
 
Introduction to jQuery
Introduction to jQueryIntroduction to jQuery
Introduction to jQuery
 
Session - 1 Forms and Session management.pptx
Session - 1 Forms and Session management.pptxSession - 1 Forms and Session management.pptx
Session - 1 Forms and Session management.pptx
 
Integrating dialog flow (api.ai) into qiscus sdk chat application
Integrating dialog flow (api.ai) into qiscus sdk chat applicationIntegrating dialog flow (api.ai) into qiscus sdk chat application
Integrating dialog flow (api.ai) into qiscus sdk chat application
 
Having Fun Building Web Applications (Day 1 Slides)
Having Fun Building Web Applications (Day 1 Slides)Having Fun Building Web Applications (Day 1 Slides)
Having Fun Building Web Applications (Day 1 Slides)
 
Ajax3
Ajax3Ajax3
Ajax3
 
ASP.NET MVC 5 Building Your First Web Application (A Beginner S Guide
ASP.NET MVC 5  Building Your First Web Application (A Beginner S GuideASP.NET MVC 5  Building Your First Web Application (A Beginner S Guide
ASP.NET MVC 5 Building Your First Web Application (A Beginner S Guide
 
How to develop an API with PHP, JSON, and POSTMAN in 9 Steps.pdf
How to develop an API with PHP, JSON, and POSTMAN in 9 Steps.pdfHow to develop an API with PHP, JSON, and POSTMAN in 9 Steps.pdf
How to develop an API with PHP, JSON, and POSTMAN in 9 Steps.pdf
 
Lesson 202 02 oct13-1800-ay
Lesson 202 02 oct13-1800-ayLesson 202 02 oct13-1800-ay
Lesson 202 02 oct13-1800-ay
 
Writing and Testing JavaScript-heavy Web 2.0 apps with JSUnit
Writing and Testing JavaScript-heavy Web 2.0 apps with JSUnitWriting and Testing JavaScript-heavy Web 2.0 apps with JSUnit
Writing and Testing JavaScript-heavy Web 2.0 apps with JSUnit
 
Boost your angular app with web workers
Boost your angular app with web workersBoost your angular app with web workers
Boost your angular app with web workers
 
Understanding router state in angular 7 passing data through angular router s...
Understanding router state in angular 7 passing data through angular router s...Understanding router state in angular 7 passing data through angular router s...
Understanding router state in angular 7 passing data through angular router s...
 
Loadrunner
LoadrunnerLoadrunner
Loadrunner
 
Simple ado program by visual studio
Simple ado program by visual studioSimple ado program by visual studio
Simple ado program by visual studio
 
Simple ado program by visual studio
Simple ado program by visual studioSimple ado program by visual studio
Simple ado program by visual studio
 

Recently uploaded

GraphRAG for LifeSciences Hands-On with the Clinical Knowledge Graph
GraphRAG for LifeSciences Hands-On with the Clinical Knowledge GraphGraphRAG for LifeSciences Hands-On with the Clinical Knowledge Graph
GraphRAG for LifeSciences Hands-On with the Clinical Knowledge Graph
Neo4j
 
Digital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying AheadDigital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying Ahead
Wask
 
9 CEO's who hit $100m ARR Share Their Top Growth Tactics Nathan Latka, Founde...
9 CEO's who hit $100m ARR Share Their Top Growth Tactics Nathan Latka, Founde...9 CEO's who hit $100m ARR Share Their Top Growth Tactics Nathan Latka, Founde...
9 CEO's who hit $100m ARR Share Their Top Growth Tactics Nathan Latka, Founde...
saastr
 
“How Axelera AI Uses Digital Compute-in-memory to Deliver Fast and Energy-eff...
“How Axelera AI Uses Digital Compute-in-memory to Deliver Fast and Energy-eff...“How Axelera AI Uses Digital Compute-in-memory to Deliver Fast and Energy-eff...
“How Axelera AI Uses Digital Compute-in-memory to Deliver Fast and Energy-eff...
Edge AI and Vision Alliance
 
Serial Arm Control in Real Time Presentation
Serial Arm Control in Real Time PresentationSerial Arm Control in Real Time Presentation
Serial Arm Control in Real Time Presentation
tolgahangng
 
Fueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte WebinarFueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte Webinar
Zilliz
 
WeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation TechniquesWeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation Techniques
Postman
 
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectors
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectorsConnector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectors
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectors
DianaGray10
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
panagenda
 
FREE A4 Cyber Security Awareness Posters-Social Engineering part 3
FREE A4 Cyber Security Awareness  Posters-Social Engineering part 3FREE A4 Cyber Security Awareness  Posters-Social Engineering part 3
FREE A4 Cyber Security Awareness Posters-Social Engineering part 3
Data Hops
 
Y-Combinator seed pitch deck template PP
Y-Combinator seed pitch deck template PPY-Combinator seed pitch deck template PP
Y-Combinator seed pitch deck template PP
c5vrf27qcz
 
5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides
DanBrown980551
 
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdfHow to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
Chart Kalyan
 
Building Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and MilvusBuilding Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and Milvus
Zilliz
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Safe Software
 
What is an RPA CoE? Session 1 – CoE Vision
What is an RPA CoE?  Session 1 – CoE VisionWhat is an RPA CoE?  Session 1 – CoE Vision
What is an RPA CoE? Session 1 – CoE Vision
DianaGray10
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
panagenda
 
Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
innovationoecd
 
Taking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdfTaking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdf
ssuserfac0301
 
Skybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoptionSkybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoption
Tatiana Kojar
 

Recently uploaded (20)

GraphRAG for LifeSciences Hands-On with the Clinical Knowledge Graph
GraphRAG for LifeSciences Hands-On with the Clinical Knowledge GraphGraphRAG for LifeSciences Hands-On with the Clinical Knowledge Graph
GraphRAG for LifeSciences Hands-On with the Clinical Knowledge Graph
 
Digital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying AheadDigital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying Ahead
 
9 CEO's who hit $100m ARR Share Their Top Growth Tactics Nathan Latka, Founde...
9 CEO's who hit $100m ARR Share Their Top Growth Tactics Nathan Latka, Founde...9 CEO's who hit $100m ARR Share Their Top Growth Tactics Nathan Latka, Founde...
9 CEO's who hit $100m ARR Share Their Top Growth Tactics Nathan Latka, Founde...
 
“How Axelera AI Uses Digital Compute-in-memory to Deliver Fast and Energy-eff...
“How Axelera AI Uses Digital Compute-in-memory to Deliver Fast and Energy-eff...“How Axelera AI Uses Digital Compute-in-memory to Deliver Fast and Energy-eff...
“How Axelera AI Uses Digital Compute-in-memory to Deliver Fast and Energy-eff...
 
Serial Arm Control in Real Time Presentation
Serial Arm Control in Real Time PresentationSerial Arm Control in Real Time Presentation
Serial Arm Control in Real Time Presentation
 
Fueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte WebinarFueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte Webinar
 
WeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation TechniquesWeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation Techniques
 
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectors
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectorsConnector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectors
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectors
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
 
FREE A4 Cyber Security Awareness Posters-Social Engineering part 3
FREE A4 Cyber Security Awareness  Posters-Social Engineering part 3FREE A4 Cyber Security Awareness  Posters-Social Engineering part 3
FREE A4 Cyber Security Awareness Posters-Social Engineering part 3
 
Y-Combinator seed pitch deck template PP
Y-Combinator seed pitch deck template PPY-Combinator seed pitch deck template PP
Y-Combinator seed pitch deck template PP
 
5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides
 
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdfHow to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
 
Building Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and MilvusBuilding Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and Milvus
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
 
What is an RPA CoE? Session 1 – CoE Vision
What is an RPA CoE?  Session 1 – CoE VisionWhat is an RPA CoE?  Session 1 – CoE Vision
What is an RPA CoE? Session 1 – CoE Vision
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
 
Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
 
Taking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdfTaking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdf
 
Skybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoptionSkybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoption
 

Submit form with Ajax and jQuery without reloading page.pdf

  • 1. Submit form with Ajax and jQuery without reloading page October 9, 2022 by Pawan Table of Contents ● Introduction ● Powerful Combo of jQuery + Ajax ● UI Code of HTML Form ● The logic of Submitting Form without reload ● PHP Code to link Database ● Final process ● Conclusion Introduction
  • 2. Howdy friends, these days when people fill out a form on webpages they want an instant response! So today in this article, we will show you how to submit form with Ajax and jQuery without reloading the page. Yup! your form will be submitted but the webpage won’t refresh at all. To achieve this we will use our trusted jQuery and Ajax. But Ajax is the key here! Because it allows us to send and receive data without refreshing our webpage. Don’t worry I will explain it in detail in the next section. You can use our code in combination with PHPMailer or Sendgrid to send emails as well. And send emails without any refresh or reload. Meaning with Ajax form submit without refresh, you can build applications where you can submit the form and display the results on the same page. Anyway, let’s learn the basics first of jQuery and Ajax. Powerful Combo of jQuery + Ajax Modern web development won’t exist without JavaScript. And jQuery is one of the most used JS libraries you can think of in modern web development. But ever since its release Ajax has joined its ranks because of vital things we can do with Ajax. Remember, Ajax also called Asynchronous JavaScript And XML is not a framework or library, or even a language itself. Instead, Ajax is a web development technique to send and receive data asynchronously. If want to know more read this MDN article about Ajax.
  • 3. How AJAX works behind the scene Could we simply use Ajax without jQuery? The answer is: YES! But no one does that unless you want to write verbose Ajax submit form PHP code. jQuery makes writing Ajax simpler and more fun. Now that we know why we are going to submit form with Ajax and jQuery together. Let’s go into the coding section: UI Code of HTML Form First, we must design the UI. With Bootstrap handling CSS, we will design our UI which look like this:
  • 4. How UI should look for the jQuery submit form with Ajax To build our UI, our main file is: “index.html“. <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>jQuery submit form with Ajax</title> <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.2.2/dist/css/bootst rap.min.css" rel="stylesheet">
  • 5. <link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet"> </head> <body> <h3 class="py-2 text-center mb-4">jQuery Submit Form with Ajax</h3> <div class="container"> <div class="card mx-auto p-3" style="width: 20rem;"> <div class="card-body"> <form action="post.php" id="submitform" method="post"> <div class="input-group mb-4"> <span class="input-group-text"><i class="large material-icons">account_circle</i></span> <input type="text" class="form-control" placeholder="Username" name="username"> </div> <div class="input-group mb-4"> <span class="input-group-text"><i class="large material-icons">email</i></span>
  • 6. <input type="email" class="form-control" placeholder="Email Address" name="email"> </div> <div class="input-group mb-4"> <span class="input-group-text"><i class="large material-icons">fingerprint</i></span> <input type="password" class="form-control" placeholder="Password" name="password"> </div> <div class="text-center"> <button type="submit" class="btn btn-success" name="submit">Submit</button> </div> </form> </div> <div class="result text-center"></div> </div> </div>
  • 7. <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script> <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.2.2/dist/js/bootstra p.bundle.min.js"></script> </body> </html> At this point in time, our UI will look like this for our jQuery Submit form with Ajax. Next, we code the logic which makes our form gets submitted without any reloading. The logic of Submitting Form without reload As we explained at the start, Ajax is the main technique to send our data to the server and receive data at the same time. Then we display this data at UI. ● We use the submit() jQuery function to submit our form. Though we need to provide an id to identify our form. ● Next, we inject the event.preventDefault() function which removes the default functionality of submit button click. ● jQuery Ajax function $.ajax() or jQuery.ajax() is the main function which send or receive data. It has certain argument requirements like ○ Type: post or get method ○ URL: Url of file such as in this case “post.php“ ○ data: here we write code that processes the data we receive from the form. In our jQuery submit form with
  • 8. Ajax, we are utilizing serialize() jQuery to collect data from the form. $('#submitform').submit(function (event) { event.preventDefault(); $.ajax({ type: "POST", url: "post.php", data: $(this).serialize(), success: function (data) { console.log(data); $('.result').html(data); } }); }); Now that we completed most of the code. Let’s move to the coding part where we insert the data into the database.
  • 9. PHP Code to link Database For this form submission, we are collecting data and sending it to our MySQL database. If you want to know how to build a simple DB read this. To insert data into MySQL we use PHP as a backed powerhouse. For that purpose, we have a simple PHP file: “post.php“. <?php $username = $_POST['username']; $email = $_POST['email']; $password = $_POST['password']; $connect = mysqli_connect('localhost', 'root', '', 'ajax_form'); $sql = "insert into form_data (username, email, password) values('$username', '$email', '$password')"; if (mysqli_query($connect, $sql)) { echo "Data Inserted Successfully!"; } else { echo "Data failed to be inserted!"; }
  • 10. Now that we are almost finished with UI and Logic part of our form. Let’s move on to the SQL part. Feel free to run the below code to build a quick SQL Table. CREATE TABLE `form_data` ( `id` int(11) NOT NULL, `username` varchar(255) NOT NULL, `email` varchar(255) NOT NULL, `password` varchar(255) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; Below is the image of how your UI will look after we submit form without reloading the page jQuery. How jQuery submit form with ajax look
  • 11. Final process After filling out the form you can view your submitted data in the database. Below is the image explaining how your database should look like for our Ajax Submit form PHP. Database for jQuery Submit Form with Ajax. Feel free to download our code from GitHub Repo or check out the demo: Code Download from Github Demo Conclusion We hope that you enjoyed our article on how to submit forms with Ajax and jQuery. Feel free to comment on this article if you have any questions. Thank you for reading, we are always excited when one of our posts is able to provide useful information on a topic like this!
  • 12. Also, check out our post about building a PHP shopping cart with the session, and if you need a payment gateway then check out the Razorpay integration guide. Ta-da! Thanks for reading! Keep Coding.