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.

Antworten auf die Frage(7)

Ihre Antwort auf die Frage