-1
Was ist falsch an diesem Code? Es tut nichts.Verwenden von PHP zum Aufrufen von JavaScript-Funktion
Ab sofort funktioniert die $_GET
gut und erhält alle Rückgabewerte von der Serverseite. Alle Daten sind verfügbar: $ _GET ['PNREF']; & $ _GET ['EMAIL']; empfange Daten in Ordnung, wenn ich sie außerhalb der if-Anweisung habe.
<?php
if($_GET['RESPMSG'] != "Approved"){
echo '<script type="text/javascript">',
'declined();',
'</script>';
}else{
echo '<script type="text/javascript">',
'approved();',
'</script>';
$tranid = $_GET['PNREF'];
$email = $_GET['EMAIL'];
}
?>
Ich versuche, diese beiden Funktionen in der ich würde erwarten, <body>
<script>
function approved(){
alert("approved func");
document.getElementById('oops_id').style.display = "none";
document.getElementById('thank_id').style.display = "block";
}
function declined(){
alert("declined func");
document.getElementById('thank_id').style.display = "none";
document.getElementById('oops_id').style.display = "block";
}
</script>
Wie werden die beiden JS-Funktionen in der Seite enthalten? – nnnnnn
Haben Sie einfach zwischen
sich für den Zugriff auf keine Aktion von Ihrem Skript.
PHP wird auf Ihrem Server ausgeführt, während Javascript auf dem Client ausgeführt wird.
In Ihrer PHP
if
Aussage, Sie sind nur einschließlich der Funktionsaufruf einmal ausgeführt werden, während die Seite (asynchron) geladen ist.Sie müssen die Funktion
declined()
oderapproved()
in einem JavaScript-Skript aufrufen, basierend auf einer Benutzerinteraktion.Ich müsste mehr Code sehen, um mehr Empfehlungen als das zu machen.
Quelle
2017-08-23 03:15:05 Sablefoste
Dieses Formular empfängt Daten erfolgreich von $ _GET - ich habe getestet. Und ich weiß sicher $ _GET ['PNREF']; & $ _GET ['EMAIL']; Werte erhalten Ich hoffte also, dass mein Problem nur in einer schlechten if-Aussage lag. – NewCodeMan
Ja, aber Sie benötigen ein JavaScript-Skript, um die Funktionen aufzurufen. Sie haben derzeit PHP nur den Funktionsaufruf enthalten. Zum Beispiel können Sie eine Taste auswählen, um ein 'on_click'-Ereignis zu haben, bei dem THEN die entsprechende Funktion aufruft. Dies würde nur auf dem Client (innerhalb des Webbrowsers) auftreten. Nichts würde zur Verarbeitung an PHP zurückgesendet werden. Bitte überprüfen Sie das Client-Server-Modell: https://en.wikipedia.org/wiki/Client%E2%80%93Server_Model – Sablefoste
Aktualisierte Frage – NewCodeMan
Sie sollten vielleicht überdenken, wie Sie das angehen: Sie können den Stil des Elements direkt als "display: none" oder "display: block" basierend auf der Anforderungsvariablen markieren.
dann in den HTML-Code:
Wenn Sie wirklich ausführen möchten Ihre JavaScript-Funktionen haben, können Sie die Seite ausführen, um Ihre Funktion haben können, wenn die Körper Lasten der PHP-Abschnitt oben mit um festzustellen, welche Funktion ausgeführt werden soll:
Quelle
2017-08-23 03:18:47 Cubis
Danke @Cubis Ich werde versuchen zu vereinfachen, was ich mit Ihrem Vorschlag habe. – NewCodeMan