Javascript 如何防止页面跳转到底部?

Javascript 如何防止页面跳转到底部?,javascript,jquery,html,Javascript,Jquery,Html,当按下联系人表单上的提交按钮时,页面跳转到底部。我认为这是由js引起的。当你想尝试时,按下下面的链接,下一个联系人,填写表格并按“verstuur” javascript: $('form#contactForm button.submit').on('click', function() { $('#image-loader').fadeIn(); var contactFname = $('#contactForm #contactFname').val();

当按下联系人表单上的提交按钮时,页面跳转到底部。我认为这是由js引起的。当你想尝试时,按下下面的链接,下一个联系人,填写表格并按“verstuur”

javascript:

$('form#contactForm button.submit').on('click', function() {

      $('#image-loader').fadeIn();

      var contactFname = $('#contactForm #contactFname').val();
      var contactLname = $('#contactForm #contactLname').val();
      var contactStraat = $('#contactForm #contactStraat').val();
      var contactPostcode = $('#contactForm #contactPostcode').val();
      var contactTel = $('#contactForm #contactTel').val();
      var contactEmail = $('#contactForm #contactEmail').val();
      var contactSubject = $('#contactForm #contactSubject').val();
      var contactMessage = $('#contactForm #contactMessage').val();

      var data = 'contactFname=' + contactFname  + '&contactLname=' + contactLname +
                 '&contactEmail=' + contactEmail + '&contactSubject=' + contactSubject +
                 '&contactStraat=' + contactStraat  + '&contactPostcode=' + contactPostcode  +
                 '&contactTel=' + contactTel  + '&contactMessage=' + contactMessage;

      $.ajax({

        type: "POST",
        url: "inc/sendEmail.php",
        data: data,
        success: function(msg) {

            // Message was sent
            if (msg == 'OK') {
               $('#image-loader').fadeOut();
               $('#message-warning').hide();
               $('#contactForm').fadeOut();
               $('#message-success').fadeIn();
            }
            // There was an error
            else {
               $('#image-loader').fadeOut();
               $('#message-warning').html(msg);
              $('#message-warning').fadeIn();
            }

        }

      });
      return false;
});

你好,我在你的网页上。您正在脚本中使用:

$('form#contactForm button.submit').on('click', function() {
   e.preventDefault();
// and so on
问题是,您没有在函数中传递e。你必须这样使用它:

$('form#contactForm button.submit').on('click', function(e) {
       e.preventDefault();
    // and so on
然后它将阻止表单刷新页面。我只是猜测您希望通过ajax发送表单。

您的表单没有“ACTION”属性,这意味着它正在发布到当前URL。当前URL有一个锚点:#联系人,这意味着您将直接跳转到联系人部分

当你进入这个链接并向下滚动(滚动,不要点击联系人)时,你将跳转到评论部分


长话短说,在你的表单上添加一个动作标记:)

它跳到我的表单顶部?在哪个浏览器中-在Chrome中对我来说很好?在你的网站上,你有
e.preventDefault()
,但函数没有
e
参数,因此会出现错误,并跳过函数的其余部分。我尝试此操作时,它的行为相同,所以它也跳到了底部。动作标签应该是什么?当我使用a href时,它的作用是相同的。我被纠正了,Rednif是正确的,刷新你的缓存(chrome/windows上的ctrl+r),它应该可以正常工作now@SanderZijnstra那么问题仍然存在?还是我的回答对你有帮助?如果我的回答对你有帮助,请检查它是否正确,如果没有,请告诉我你现在遇到了什么问题。