javascript - 提交表单时不要自动滚动到顶部。留在当前位置

标签 javascript php jquery html ajax

我不想在提交表单时自动向上滚动页面。我想保持与提交表单时相同的位置。我该怎么做?

<script type="text/javascript">
    var frm = $('#form');
    frm.submit(function (ev) {
        $.ajax({
            type: frm.attr('method'),
            url: frm.attr('action'),
            data: frm.serialize(),
            success: function (data) {
                alert('ok');
            }
        });

        ev.preventDefault();
    });

          <script>
    function submitForm2()
     {
          document.getElementById('form').submit();
           popsup();
     }
      </script>

    <div onclick='submitForm2();'></div>

    <form id='form' action='' method='post'>
            <input name='test' value="ok">
    </form>

我尝试了链接中的解决方案; 页面在新窗口打开返回false结果,提交后页面在新窗口自动滚动到顶部。

“#”或#! in action = 表单未提交且页面滚动到顶部。

javascript:void(0); - 表单没有提交,页面仍然滚动到顶部

最佳答案

document.getElementById('form').submit();不会触发 frm.submit处理程序。请改用 $('#form').submit() ,因为 jQuery 版本的 submit() 会调用任何 onsubmit 处理程序,而普通 Javascript submit() 会绕过它们。

编辑

另一件事 - 添加提交处理程序函数的脚本会在表单呈现之前立即执行。所以它可能会失败。还有你好像有点任性<script>标记在那里。试试这个:

<script type="text/javascript">
    $(document).ready(function() {
        var frm = $('#form');
        frm.submit(function (ev) {
            $.ajax({
                type: frm.attr('method'),
                url: frm.attr('action'),
                data: frm.serialize(),
                success: function (data) {
                    alert('ok');
                }
            });
            ev.preventDefault();
        });
    });

    function submitForm2() {
        $('#form').submit();
    }
</script>

关于javascript - 提交表单时不要自动滚动到顶部。留在当前位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33682330/

相关文章:

javascript - 使用javascript将内容包装在一个没有iframe刷新的Div中

javascript - 无法使用 Angular.merge() 合并对象

javascript - javascript中将实例移动到另一个类的方法

javascript - 自 "Javascript The Good Parts"以来发生了什么变化?

javascript - 序列化表单的数据并将其反序列化为关联数组

javascript - 多选下拉控件 - Primeng - Angular 6 - 在页面加载时默认选择所有选项并将它们显示为选定标签

javascript - Express.js 文件上传

php - 我们可以在 URL 中使用英语以外的语言吗?

PHP POST 无法处理 <img src="http ://

javascript - 如何使用ReactJS中的条件映射功能?