使用javascript提交表单后更改页面

时间:2014-02-11 13:42:36

标签: javascript jquery html forms

我有一个表单,提交后转到页面“http://qwertyasdfgh.rozblog.com/New_Post”(动作值)

我不想更改操作,但我想在提交后重定向到另一个页面。

我在提交后尝试重定向到“http://qwerty.rozblog.com/page/success”,但它不起作用。

这是我试过的代码:

(HTML)

<form method="post" action="http://qwertyasdfgh.rozblog.com/New_Post" id="f1">
      <input type="text" name="title" style="width:300px"><br />
      <input type="text" name="pimg" style="width:300px" maxlength="3072"><br />
      <textarea dir="rtl" id="post" name="post" style="width:300px;" aria-hidden="true"></textarea><br />
      <input type="submit" name="postsubmit" value=" submit " style="background:#333;" onclick="location()">
    </form>

(JS)

 function location() {
   window.location.replace("http://qwerty.rozblog.com/page/success");
}

and here is the fiddle

3 个答案:

答案 0 :(得分:1)

您可以使用jquery和AJAX(或我误解了您)提交表单:

$('#f1').submit(function(e)
{
    e.preventDefault();
    $.post('http://qwertyasdfgh.rozblog.com/New_Post',
           formDataAsJSON, //use eg. jquery form plugin
           function(data)
           {
               window.location = 'somewhere';
           }
    );
});

答案 1 :(得分:1)

你有两个选择。

1)使用AJAX提交该表单,并在收到服务器重定向浏览器的响应后到您想要的页面。您可以使用例如jQuery和Ajax表单插件。代码如下所示:

 <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7/jquery.js"></script> 
 <script src="http://malsup.github.com/jquery.form.js"></script> 

    <script> 
        // wait for the DOM to be loaded 
        $(document).ready(function() { 
            // bind 'f1' form and provide a simple callback function 
            $('#f1').ajaxForm(function() { 
                window.location = "/page/success" 
            }); 
        }); 
    </script>

OR

2)你可以保留你的表格和js,并使用例如php来做一些事情后重定向用户。

New_post.php

<?php
// some stuff without printing (you cant change headers if you print something)

Header("Location: /page/success");

答案 2 :(得分:0)

如果可能,您可以使用head中的meta refreshing将/ New_Post配置为重定向到/ page / success:

<meta http-equiv="refresh" content="0; url=http://qwerty.rozblog.com/page/success">