1

我在表单中有一个提交按钮,并在其上实现了 jQuery。

它工作正常,但是当我按下提交按钮时,它只是转到顶部,忽略我的一个字段的必填字段属性。

如果我从提交按钮中删除 backtotop id,我可以看到必填字段错误。

如果我在提交按钮上添加 backtotop id,它就不会提交表单。

我错过了什么?

<form action="" method="post">
    <input type="text" name="fname" required>
    <input type="submit" id="backToTop" class="button" value="Register">
</form>

jQuery(document).ready(function ($) {
    $(window).scroll(function () {
        if ($(this).scrollTop() > 50) {
            $('#backToTop').fadeIn('slow');
        } else {
            $('#backToTop').fadeOut('slow');
        }
    });
    $('#backToTop').click(function () {
        $("html, body").animate({
            scrollTop: 0
        }, 100);
        return false;
    });
});
4

2 回答 2

1

return false在点击处理程序中将阻止表单提交。如果要提交表单,则必须return true;.

于 2013-09-01T00:29:28.050 回答
0

其他的干扰请使用 JSFiddle,可能看看你的 CSS。

至于滚动到前 50 个,请注意并非所有用户都具有相同的分辨率。您将需要检测增量。

scrollbartarget/Scrollbarheight = location

除非您希望阻止表单在您的点击处理程序中提交 return true。

于 2013-09-01T00:29:37.457 回答