2017-04-06 4 views
0

Ich möchte eine Schaltfläche auf page1.html. Diese Schaltfläche übergibt Daten an page2.html, die ein Formular enthalten, lädt diese Daten in das Formular und sendet das Formular an page2.html. Ist das möglich? Wie würde es gemacht werden? Ich kann keine Beispiele dafür finden.Übergeben Sie Daten an eine andere Seite und senden Sie ein Formular auf dieser Seite

Danke!

+1

Das ist denn auf eine zweite Seite zu gehen und automatisch zu senden ist seltsam. Wenn Sie Seiten wechseln, möchten Sie normalerweise, dass Ihr Benutzer ein Formular einreicht, oder warum sollte er auf eine andere Seite wechseln? – Yatrix

+1

Ja, das ist sicherlich möglich ... aber warum würdest du ein solches Verhalten wollen? Warum haben Sie nicht einfach Ihr Formular auf "page1.html"? –

+0

Es ist eine einzigartige Situation, in der ich dieses Feature haben möchte. Es würde ein Formular in einer Webgl-Anwendung mit Daten füllen, die der Endbenutzer nicht so leicht finden kann, und ich möchte diese "vorgestellten" Daten aktualisieren können, ohne jedes Mal die Webgl-Anwendungsseite zu aktualisieren. So kann ich diese Daten kennzeichnen und sie dann ändern, ohne die Webgl-App aktualisieren zu müssen. – rankind

Antwort

0

endete ich PHP Post-Methode unter Verwendung von bis:

Von Ursprung page1.php Seite:

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

In Empfang page2.php Seite:

<?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;?> 

funktioniert perfekt

0

Natürlich ist die beste Sache, ein Backend zu benutzen ... aber ich denke, dass Sie nicht fragen würden, ob Sie diese Wahl hatten.

eine Sache, die Sie tun können, ist der Anker in der URI verwenden, wie: /page2#?field=value&fld=val

Dann auf Seite laden, suchen Sie nach einem Anker-Tag und zu verarbeiten:

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

Hier ist ein plunkr zu bekommen Sie über den Boden: https://plnkr.co/edit/u9fPGFZedXGmKbbdXVvy?p=preview

Also, sobald Sie die hash haben, würden Sie es zu JSON parsen und konfigurieren Sie Ihr Formular damit.

Es ist nicht offensichtlich, dass es funktioniert, weil diese geigeähnlichen Seiten funktionieren. Aber es funktioniert! Um es auszuprobieren, öffnen Sie die Vorschau im separaten Fenstermodus, kopieren Sie die URL, öffnen Sie diese URL in einem neuen Tab und fügen Sie einen Beispielhash hinzu, und drücken Sie die Eingabetaste. dann lade die Seite neu.

+0

Ich habe PHP auf der Website verfügbar. Die page1.html kommt von einer drupal Seite, also kann ich php ohne Schweiß benutzen. Die Webgl-App ist ein HTML-Dokument. – rankind

+1

Dann überspringen Sie den Großteil meiner Antwort und senden Sie die Daten von Seite1 an den Server. Lassen Sie das Formular zu Seite2 umleiten .. dann auf Seite 2, auf Seite laden Sie den Server abfragen, um zu sehen, ob die aktuelle Sitzung Formularvariablen hat und wenn ja, fügen Sie sie (wie, w/ajax). Ps, sollten Sie Ihren Beitrag ändern, um PHP in die Tags aufzunehmen, wenn Sie eine Nicht-Javascript-Antwort möchten. –

+0

Das ist ein bisschen über meinem Kopf, könnten Sie ein einfaches Beispiel dafür geben? Danke für die Hilfe! – rankind

Verwandte Themen