Javascript 如何防止页面跳转到底部?
当按下联系人表单上的提交按钮时,页面跳转到底部。我认为这是由js引起的。当你想尝试时,按下下面的链接,下一个联系人,填写表格并按“verstuur” 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();
$('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那么问题仍然存在?还是我的回答对你有帮助?如果我的回答对你有帮助,请检查它是否正确,如果没有,请告诉我你现在遇到了什么问题。