Prevent Seite neu laden und umleiten auf Formular senden ajax / jquery
Ich habe alle ähnlichen Posts da draußen durchgesehen, aber nichts scheint zu helfen. Das habe ich
HTML:<section>
<form id="contact-form" action="" method="post">
<fieldset>
<input id="name" name="name" placeholder="Name" type="text" />
<input id="email" name="email" placeholder="Email" type="text" />
<textarea id="comments" name="comments" placeholder="Message"></textarea>
<div class="12u">
<a href="#" id="form-button-submit " class="button" onClick="sendForm()">Send Message</a>
<a href="#" id="form-button-clear" class="button" onClick="document.getElementById('contact-form').reset()">Clear Form</a>
</div>
<ul id="response"></ul>
</fieldset>
</form>
</section>
JavaScript / jQuery:function sendForm() {
var name = $('input#name').val();
var email = $('input#email').val();
var comments = $('textarea#comments').val();
var formData = 'name=' + name + '&email=' + email + '&comments=' + comments;
$.ajax({
type: 'post',
url: 'js/sendEmail.php',
data: formData,
success: function(results) {
$('ul#response').html(results);
}
}); // end ajax
}
Was ich nicht tun kann, ist zu verhindern, dass die Seite aktualisiert wird, wenn das#form-button-submit
wird gedrückt. Ich habe es versuchtreturn false;
Ich habe es versuchtpreventDefault()
und jede Kombination einschließlichreturn false;
innerhalb desonClick
. Ich habe auch versucht mitinput type="button"
undtype="submit"
stattdessen und gleiches Ergebnis. Ich kann das nicht lösen und es ist verrückt. Wenn es irgend möglich ist, würde ich den Hyperlink aufgrund einiger Design-Dinge lieber benutzen. Ich würde mich sehr über Ihre Hilfe freuen.