javascript - Contact form using e.preventDefault(); not working live -
update - contact form found @ url.
i trying following contact form function, using tutorial.
i manage work expected on computer using apache webserver. after uploading files online website, ajax function not kick in. seems e.preventdefault(); stops working after upload, , form redirected new site,and not being processed on site without reload.
i have been trying use return false; instead of e.preventdefault(); without success.
her code:
.html
<form method="post" action='mail/mail.php'> <label>name</label> <input name="name" id="name" placeholder="name.." required="true" class="input-field"> <label>mail</label> <input type="email" name="email" placeholder="mail.." required="true" class="input-field"> <label>msg</label> <textarea name="message" id="message" class="textarea-field" required="true"></textarea> <input type="submit" id="submit" name="submit" value="send"> </form> <div id="loading"> sender melding... </div> <div id="success"> </div> .js
$(function(){ $('form').submit(function(e){ var thisform = $(this); //prevent default form action //return false; e.preventdefault(); //hide form $(this).fadeout(function(){ //display "loading" message $("#loading").fadein(function(){ //post form send script $.ajax({ type: 'post', url: thisform.attr("action"), data: thisform.serialize(), //wait successful response success: function(data){ //hide "loading" message $("#loading").fadeout(function(){ //display "success" message $("#success").text(data).fadein(); }); } }); }); }); }) please help!
that's because js missing closing });. please check demo confirm default action indeed prevented , ajax kick in. however, expecting post instead seeing options request.
note: giving element name or id attribute value of submit bad practice. cannot example use javascript submit form via default form submission -- this.submit() or $('form')[0].submit() without getting error ...submit() not function .....
$(function() { $('form').submit(function(e) { var thisform = $(this); //prevent default form action //return false; e.preventdefault(); //hide form $(this).fadeout(function() { //display "loading" message $("#loading").fadein(function() { //post form send script $.ajax({ type: 'post', url: thisform.attr("action"), data: thisform.serialize(), //wait successful response success: function(data) { //hide "loading" message $("#loading").fadeout(function() { //display "success" message $("#success").text(data).fadein(); }); } }); }); }); }); }); // <==== missing this <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> <form method="post" action='mail/mail.php'> <label>name</label> <input name="name" id="name" placeholder="name.." required="true" class="input-field"> <label>mail</label> <input type="email" name="email" placeholder="mail.." required="true" class="input-field"> <label>msg</label> <textarea name="message" id="message" class="textarea-field" required="true"></textarea> <input type="submit" id="submit" name="submit" value="send"> </form> <div id="loading"> sender melding... </div> <div id="success"> </div>
Comments
Post a Comment