Über ein Java-Script einen Wert mit geben..

CreativPur

Erfahrenes Mitglied
Hi,

ich habe folgendes Script.
Code:
<script>
document.getElementById('danke_senden').onclick = function() {
    var winURL = 'danke.php';
    var winName = 'danke';
    var winSize = 'width=660,height=620,scrollbars=yes';
    var ref = window.open(winURL, winName, winSize);
}
</script>

Dabei öffnet sich ein Fenster "danke.php". Auf dieser Seite ist ein Formmailer.
Wie kann ich über dieses Script erreichen, dass z.B. die Userid und ein bestimmter Code übergeben wird, so dass ich auf der danke-php folgend die Ausgabe bekomme..
PHP:
$bewerbungscode = htmlspecialchars($_GET['bewerbungscode']);
$userid = htmlspecialchars($_GET['userid']);

Es sei noch zu bemerken, dass ich zuvor ein Formular habe, wo die Daten beim Submit in die Datenbank gespeichert werden und zeitgleich danke.php geöffnet wird.

Ich benötige die zwei Werte um in den Formmeiler z.B. die Emailadressen einzugeben und den html-Text persönlicher zu gestalten.
 
Vielen Dank für Deine schnelle Antwort.
ich habe das Script auf die "danke.php" eingebunden..
Code:
objRef = window.opener;
if (window.opener != indexWin) {
  referToTop(window.opener);
}

Leider sehe ich da keine Veränderungen usw..
Wahrscheinlich stehe ich da mal wieder voll auf dem Schlauch.

In dem Formular gebe ich ja
PHP:
$bewerbungscode = $_POST['bewerbungscode'];
$userid = $_POST['userid'];
schon mit, damit es gespeichert wird.

Auf der "danke.php" wird es aber nicht mitgegeben.

Vielleicht gibt es ja eine viel bessere Lösung als meine..

Ich möchte "einfach" nur erreichen, dass die Daten aus dem Formular gespeichert werden und zugleich der Formmeiler aktiviert wird.
 
Nein, dieses Skript wird dir nicht helfen. Bei dir müsse es etwa so aussehen:
Code:
var bewerbungscode = window.opener.document.querySelector("input[name='bewerbungscode']").value;
Dabei habe ich angenommen, dass es auf deiner Hauptseite ein input mit dem Namen "bewerbungscode" gibt.

Eine Alternative könnte sein, den Formmailer in dem selben Skript zu aktivieren, der auch die Datenbankeinträge macht.
 
Das input gibt es auch...

Hauptseite:
PHP:
<form action="" method="post">
<input  class="form-control" type="hidden" name="bewerbungscode" value="<?php echo htmlspecialchars($_GET['bewerbungscode']) ?>">
<input  class="form-control" type="hidden" name="userid" value="<?php echo htmlspecialchars($_GET['userid']) ?>">
<input type="submit" id="danke_senden" value="Auf diese Bewerbung antworten" class="btn btn-success col-lg-5 col-xs-12" />
</form>
Außerdem stehen dort noch weiter Inputfelder, die aber jetzt irrelevant sind.
Dazu das Script:
Code:
document.getElementById('danke_senden').onclick = function() {
    var winURL = 'danke.php';
    var winName = 'danke';
    var winSize = 'width=660,height=620,scrollbars=yes';
    var ref = window.open(winURL, winName, winSize);
}

Das Abspeichern der Daten aus dem Formular und die Weiterleitung auf "danke.php" funktioniert auch bestens.
Nur habe ich das Problem, dass ich auf der "danke.php" den Formmeiler habe und diesen aber nicht mit php weiter bearbeiten kann, da die Werte von $userid und $bewerbungscode nicht mit geliefert werden
 
Zuletzt bearbeitet:
Auch dieser Versuch ist gescheitert..
Code:
document.getElementById('danke_senden').onclick = function() {
    var winURL = 'danke.php?$bewerbungscode=htmlspecialchars($_GET["bewerbungscode"]),$userid=htmlspecialchars($_GET["userid"]) ';
    var winName = 'danke';
    var winSize = 'width=660,height=620,scrollbars=yes';
    var ref = window.open(winURL, winName, winSize);
}
 
Oh, ich habe die ganze Zeit in die verkehrte Richtung gedacht. Die URL-Parameter sind schon der richtige Ansatz, aber Du musst sie richtig vorbereiten:
Code:
var winURL = 'danke.php?bewerbungscode=' + document.querySelector("input[name='bewerbungscode']").value + '&userid=' + document.querySelector("input[name='userid']").value;
Dann stehen sie in danke.php als GET-Parameter zur Verfügung.
 

Neue Beiträge

Zurück