PHP Javascript form formData 10: input text using ajax (XMLHttpRequest)
Falah Al Fitri
Posted on December 15, 2019
index.php
<form method="post" action="process.php" >
Firstname: <input type="text" name="firstname" />
<br />
Lastname: <input type="text" name="lastname" />
<br />
<hr />
<input type="submit" value="Submit" />
</form>
Display result form server
<div id="output"></div>
Get formHTML element and add onsubmit event, and create formData, then call ajax function with arguments formHTML, formData and output display ("#output")
<script>
/* submit form */
document.querySelector( "form" ).addEventListener( "submit", function (event) {
event.preventDefault(); // return false
var formHTML = event.target; // this
console.log( formHTML ); // formHTML element
// https://developer.mozilla.org/en-US/docs/Web/API/FormData/Using_FormData_Objects
var formData = new FormData( formHTML );
console.log( formData );
// https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest
// https://www.w3schools.com/xml/xml_http.asp
// https://www.w3schools.com/js/js_ajax_http.asp
/* AJAX request */
ajax( formHTML, formData, "#output" ); // ajax( form, data destination )
});
</script>
ajax function
<script>
function ajax( form, data, destination )
{
if (window.XMLHttpRequest)
{
var xhr = new XMLHttpRequest(); /* code for modern browsers */
}
else
{
var xhr = new ActiveXObject("Microsoft.XMLHTTP"); /* code for old IE browsers */
}
xhr.open( form.method, form.action, true ); // ( "post", "process.php", true )
xhr.send( data );
xhr.onreadystatechange = function () {
if ( this.readyState == 4 && this.status == 200 )
{
document.querySelector( destination ).innerHTML = this.responseText;
}
};
}
</script>
process.php
echo "<pre>";
var_dump($_POST);
echo "</pre>";
Demo repl.it
💖 💪 🙅 🚩
Falah Al Fitri
Posted on December 15, 2019
Join Our Newsletter. No Spam, Only the good stuff.
Sign up to receive the latest update from our blog.
Related
php PHP Javascript form formData 60: input text textarea file using ajax (XMLHttpRequest)
December 15, 2019