Change page after submitting the form using javasc

2019-08-31 04:38发布

问题:

I have a form that after submitting goes to page "http://qwertyasdfgh.rozblog.com/New_Post" ( the action value )

I don't want to change the action but I want to redirect to another page after submitting.

I tried to redirect to "http://qwerty.rozblog.com/page/success" after submitting but it doesn't work .

here is the code I tried :

(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

回答1:

You can submit the form using jquery and AJAX (or I misunderstood you):

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


回答2:

You have two choices.

1) Submit that form using AJAX and after recieving response from server redirect browser to your desired page. You can use for example jQuery with Ajax form plugin. The code would look like this:

 <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) You can leave your form and js as is, and use for example php to redirect user after doing some stuff.

New_post.php

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

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


回答3:

If possible, you can configure /New_Post to redirect to /page/success using meta refreshing in head:

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