'Pass data to another page and submit form on that page

I'd like a button on page1.html. This button will pass data to page2.html which has a form on it, load that data into the form, and submit the form on page2.html. Is this possible? How would it be done? I can't seem to find any examples of this.

Thanks!



Solution 1:[1]

I ended up using PHP's Post method:

From originating page1.php page:

<form action="page2.php" method="post">
     <input type="hidden" name="MyName" id="MyId" value="MyVal">
     <input type="submit" value="Post to page2">
</form>

In receiving page2.php page:

<?php if (!empty($_POST)) : ?> // Check for Post data
    <script>
       document.getElementById("MyId").value = '<?php echo $_POST["MyName"]; ?>'; //update form on page2.php by field ID
       document.getElementById('FormToSubmit').click();
    </script>
<?php endif;?>

Works perfectly

Solution 2:[2]

Of course the best thing to do is to use a backend... but I guess you wouldnt be asking if you had that option.

one thing you can do is use the anchor in the URI, like: /page2#?field=value&fld=val

Then on page load, check for an anchor tag and process it:

$(function(){
  let hash = window.location.hash.substr(1);
})

Here's a plunkr to get you off the ground: https://plnkr.co/edit/u9fPGFZedXGmKbbdXVvy?p=preview

So once you have the hash you would parse it to JSON and configure your form with it.

It isn't obvious that it works because of how these fiddle-like sites operate. But it does work! To check it out, open the preview in separate window mode, and copy the url, open that url in a new tab, and add a sample hash on it, and press enter so it takes. then reload the page.

Solution 3:[3]

 You can simply add (target="_blank") to form tag and you can get data in specific action page
 <form action="test.php" method="post" target="_blank">
    <input type="text" name="test" />
    <button type="submit" name="submit">Submit</button>
</form>

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 Rankinstudio
Solution 2
Solution 3 Shivam Joshi