以编程方式提交表单时防止重定向

时间:2009-10-22 16:15:19

标签: javascript html

我在html页面上有一个表单,在某些情况下由javascript提交。问题是浏览器窗口将其位置更改为为此表单指定的操作URL。有没有办法阻止它以这种方式工作?

3 个答案:

答案 0 :(得分:2)

使用javascript库通过Ajax(xhr)提交表单或提交到iframe

Full Jquery示例:

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.js"></script>

<script type="text/javascript">
    $(document).ready(function(){
        $('#yourForm').submit(captureSubmit)
    })

    function captureSubmit(event) {
        var frm = $(event.originalTarget);
        $.ajax({
            type: frm.attr('method'),
            url: frm.attr('action'),
            data: frm.serialize(),
            success: function(results) {
                // do stuff
                alert(results);
            },
            error: function(result) {
                // handle the error
                alert(result.status + ' ' + result.statusText);
            }
        });  
        return false;
    }
</script>

<form id="yourForm" action="foo.html" method="POST">
    Name: <input type="text" name="name">
    <button type="submit">Submit</button>
</form>

[编辑]使示例更加完整。

答案 1 :(得分:0)

使用Ajax发布

答案 2 :(得分:0)

你可以:

  1. 使用AJAX提交
  2. 提交至iframe