如何在提交事件中将窗口位置设置为底部?

时间:2012-08-01 04:33:07

标签: javascript html css ajax javascript-events

我有一个包含少量下拉字段的页面,当我提交页面时,它返回来自字段下方的mysql的数据。我想在用户点击提交按钮时将此页面置于底部。目前我尝试了以下脚本

function md()
{
//window.location.hash="code";
window.scrollTo(0, document.body.scrollHeight);
}

这适用于mozilla,但不适用于IE。是否还有上述代码的替代方案。我的提交按钮有onclick事件,它调用两个javascript函数

onClick='selectAllOptions("countryRF");md();return false;'

所以在IE浏览器中,当我点击它的底部,但是当数据再次显示回到顶部时? 请帮帮我!

2 个答案:

答案 0 :(得分:1)

如果你想做的话,这个jquery函数会滚动到你的页面底部:

$("html, body").animate({ scrollTop: $(document).height() }, "slow");

所以你可以把它扔进函数:function md() { [the code above] }

请务必加载jquery,将其放在页面的<head>中:

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js" type="text/javascript"></script>

希望这会有所帮助:)

答案 1 :(得分:1)

尝试使用此代码:

<form action="" onsubmit="selectAllOptions('countryRF');setTimeout(md, 1000);return false;">

最好将onsubmit用于form,而不是使用onclick作为按钮,因为使用键盘,屏幕阅读器,盲文终端等的人将无法使用触发click事件。

我添加的代码是setTimeout(md, 1000);,它在1秒后触发函数md,因为该页面可能不会花费更少的时间来更新。

修改

这可能不起作用。

尝试在表单中添加name="form",并在页面的head部分中使用此内容:

<?php
if(isset($_POST['form'])) {
    ?>
<script type="text/javascript">
    window.onload = function() {
        window.scrollTo(0, document.body.scrollHeight);
    };
</script>
<?php
}
?>