JavaScript-Funktion aus PHP

Don_Pazo

Erfahrenes Mitglied
Hallo,

ich habe eine PHP-Seite mit einem Formular. Ich will, wenn der Benutzer eine betimmte Feld eingetragen hat, dass sich einen JavaScript-Fenster öffnet.

Wie kann ich eine JavaScript Funktion innerhalb eines <?php ... ?> einfügen ?


PHP:
<?php
		if( $_POST['_projekt'] != "NULL" ){
			
			// ?
			//window.open( ... );
		}
		else 
			$_SESSION["groesse"]	= "normal";
		
?>
 
PHP = serverseitig, JavaScript = clientseitig.

PHP gibt also HTML aus, in dem dann wiederum JavaScript enthalten ist. Dir bleibt also nichts anderes übrig als den JavaScript Code auszugeben, der dann später ausgeführt wird beim Client, also ein "echo $javaScriptCode;" halt.

Es gibt eine Methode, die nennt sich AJAX, mit der kannst du direkt aus JavaScript PHP Befehle ausführen, damit ließe sich das realisieren. (JavaScript schickt Abfrage -> liest Antwort aus -> wenn Antwort soundso: öffne Fenster)
 
Also das folgende Code solte funktionieren ?

PHP:
<?php
if( $_POST['_projekt'] != "NULL" ){            
    // ?
    //window.open( ... ); 
echo '<script type="text/javascript" language="JavaScript">
	<!--
	 window.open("img.proUebersicht.php","popup","resizable=1,location=0,directories=0,status=0,menubar=0,scrollbars=1,toolbar=0,width=800,height=220"); 
	-->
	</script>';
}
        else 
            $_SESSION["groesse"]    = "normal";
?>
 
Sollte schon falls dein Javascript richtig ist ;-]

Eigentlich hättest es ja ausprobieren können dann wär gut gewesen und bitte das Thema als "Erledigt" markieren
 
Allerdings empfiehlt es sich, gerade bei längeren Codepassagen, aufgrund des Syntax-Highlighting in den Editoren, das nicht mit echo, sondern schlicht und einfach mit ?>HTML/CSS/JavaScript<?php zu bewerkstelligen.
 
SilentWarrior hat gesagt.:
Allerdings empfiehlt es sich, gerade bei längeren Codepassagen, aufgrund des Syntax-Highlighting in den Editoren, das nicht mit echo, sondern schlicht und einfach mit ?>HTML/CSS/JavaScript<?php zu bewerkstelligen.

wäre zudem auch performanter :-)
 
Zurück