php.de

Zurück   php.de > Webentwicklung > HTML, Usability und Barrierefreiheit

HTML, Usability und Barrierefreiheit Themen rund um Textauszeichnung, Formatierung, Barrierefreiheit und Usability.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 14.05.2011, 22:36  
Erfahrener Benutzer
 
Registriert seit: 11.04.2011
Beiträge: 141
PHP-Kenntnisse:
Anfänger
EG2011 ist zur Zeit noch ein unbeschriebenes Blatt
Standard JavaScript in PHP aufrufen?

Hallo allerseits!

Mein Anliegen ist zwar kein reinrassiges PHP-Thema, ich poste es aber dennoch hier, weil es vielleicht eine gute 100%ige PHP Lösung als Alternative gibt.

In meinem kleinen Browsergame soll ein User nach dem Einloggen zunächst eine Fußballmannschaft wählen. Dazu frage ich zunächst via mySQL-Statement eine Datenbank ab, ob der User bereits ein Team besitzt. Falls ja, so zeige ich das Teamlogo an, falls nein, so soll er eben aus einem Dropdown-Menü wählen.

Nun das Knifflige:
Wenn der User noch kein Team besitzt sollen alle anderen Schaltflächen in dem daneben befindlichen Div-Container inaktiviert und grau hinterlegt werden (der User soll nämlich nicht schon vorher im Menü herumklicken können).

Hierzu habe ich mittels JavaScript eine kleine Funktion geschrieben, die die Menüleiste (mein Div-Container) erst einmal zu Testzwecken ausblenden soll:

Code:
<script language="javascript">

    function deactivateSB(divID) {
				
    var d = document.getElementById(divID);
    d.style.visibility = "hidden";
    }
							
</script>
Diese Funktion versuche ich aus PHP heraus folgendermaßen zu callen:

PHP-Code:
if (mysqli_num_rows($data) == 0) {
                        
//Sidebar deaktivieren, da noch kein Team ausgewählt
echo "<script type=\"text/javascript\">deactivateSB('sidebarDiv');<script>"
Das funktioniert leider nicht., Fehlermeldungen gibt es allerdings auch nicht.

Also meine Frage:
Mir ist durchaus bewusst, dass das JS erst ausgeführt wird, nachdem die PHP Datei beim Browser angekommen ist. Es wäre also eine Client-seitige Lösung. Wenn es eine schicke Lösung in PHP gibt, also serverseitig, wäre ich natürlich auch sehr daran interessiert.
Mir geht es in diesem Thread eher um die grundsätzliche Frage, wie JS in PHP aufgerufen werden kann und natürlich auch, ob es für diesen Zweck Sinn macht.

Gruß und Danke,
Seb
EG2011 ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 14.05.2011, 22:42  
Moderator¹
 
Registriert seit: 28.03.2010
Beiträge: 7.470
PHP-Kenntnisse:
Fortgeschritten
ChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer Anblick
Standard

Also erst mal solltest du das Script-Element vernünftig wieder schließen ...
__________________
RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
ChrisB ist offline   Mit Zitat antworten
Alt 14.05.2011, 22:50  
Erfahrener Benutzer
 
Registriert seit: 11.04.2011
Beiträge: 141
PHP-Kenntnisse:
Anfänger
EG2011 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Au Backe!

Das war schonmal Fehler Nummer 1 =D.
Jetzt ist die Menüleiste tatsächlich auf hidden gesetzt.
Da ich das erste Mal JS aus PHP aufrufe dachte ich, dass ich evtl. einen grundsätzlichen Fehler drin habe.

@ChrisB
Hast du eine Ahnung wie ich meinen Div-Container nun nicht auf hidden setze, sondern die Schaltflächen deaktivere und den ganzen Container grau einfärbe?
Ich weiß, ist ne JS Frage, aber vielleicht wissen das unsere PHP-Allrounder hier ja auch .

Danke dir schonmal!!!
EG2011 ist offline   Mit Zitat antworten
Alt 14.05.2011, 22:58  
Moderator¹
 
Registriert seit: 28.03.2010
Beiträge: 7.470
PHP-Kenntnisse:
Fortgeschritten
ChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer Anblick
Standard

Zitat:
Zitat von EG2011 Beitrag anzeigen
Hast du eine Ahnung wie ich meinen Div-Container nun nicht auf hidden setze, sondern die Schaltflächen deaktivere und den ganzen Container grau einfärbe?
Ein Element drüber legen (per DOM einfügen, und innerhalb des Containers absolut positionieren), mit einer teiltransparenten Hintergrundfarbe (rgba-Notation) oder -bild.
__________________
RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
ChrisB ist offline   Mit Zitat antworten
Alt 14.05.2011, 23:27  
Erfahrener Benutzer
 
Registriert seit: 11.04.2011
Beiträge: 141
PHP-Kenntnisse:
Anfänger
EG2011 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Hmm....

also im ersten Schritt erzeuge ich in meiner Funktion ein neues <div>-Element, richtig?

Code:
var cover = document.createElement('div');
Wie sage ich dem Element aber jetzt, dass es quasi ein parent ist und wie verbinde ich es mit meinem anderen <div>?
Bin mit der DOM-Struktur noch nicht so vertraut.
EG2011 ist offline   Mit Zitat antworten
Alt 14.05.2011, 23:42  
Moderator¹
 
Registriert seit: 28.03.2010
Beiträge: 7.470
PHP-Kenntnisse:
Fortgeschritten
ChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer Anblick
Standard

appendChild/insertBefore
__________________
RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
ChrisB ist offline   Mit Zitat antworten
Alt 14.05.2011, 23:58  
Erfahrener Benutzer
 
Registriert seit: 11.04.2011
Beiträge: 141
PHP-Kenntnisse:
Anfänger
EG2011 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Muss das neue <div> denn child oder parent werden?
EG2011 ist offline   Mit Zitat antworten
Alt 19.05.2011, 20:32  
Erfahrener Benutzer
 
Registriert seit: 11.04.2011
Beiträge: 141
PHP-Kenntnisse:
Anfänger
EG2011 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Folgendes habe ich jetzt versucht, allerdings ohne großen Erfolg:

Code:
var cover = document.createElement('div');
cover.setAttribute('style', 'background-color: gray; padding: 0px; position: absolute; top: 0px, left: 0px; height: 570px; width: 150px;', 0);
document.getElementById(divID).appendChild(cover);
Das Problem ist, dass mein zu überdeckendes <div> bereits Elemente beinhaltet (Buttons). Folglich fügt er meinen nun dynamisch erzeugten <div>-Coontainer unterhalb der anderen Elemente ein. Ich möchte ja aber ALLES damit überdecken. Muss mein dynamisches <div> dann parent sein? Wenn ja, wie funzt das, weil ich über insertBefore leider auch kein Ergebnis erzielen konnte.

Wäre super, wenn mir hier nochmal jemand helfen könnte.

Danke, Seb!
EG2011 ist offline   Mit Zitat antworten
Alt 19.05.2011, 22:49  
Erfahrener Benutzer
 
Benutzerbild von drsoong
 
Registriert seit: 05.08.2008
Beiträge: 1.127
drsoong wird schon bald berühmt werden
Standard

Versuche doch erst mal Dein div mit den entsprechenden css-Anweisungen direkt in den HTML-Quellcode zu schreiben. Dann kannst Du ausprobieren, wo das am besten hingehört. Was gehen müsste, wäre folgendes:
Code:
<div id="zuÜberdeckendesDiv"></div><div id="ÜberdeckendesDiv"></div>
. Dann kannst Du das Zweite wie oben in Deinem Code angedeutet absolut positioniert irgendwo hinschieben.
__________________
Es ist schon alles gesagt. Nur noch nicht von allen.
drsoong ist offline   Mit Zitat antworten
Alt 19.05.2011, 23:28  
Erfahrener Benutzer
 
Registriert seit: 11.04.2011
Beiträge: 141
PHP-Kenntnisse:
Anfänger
EG2011 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Hey drsoong!

Im Grunde habe ich ja das, was ich will.
Wäre mein div leer, dann würde es durch das neue div vollständig überlagert.
Aber weil Buttons drinnen sind, muss sich das untergeordnete child-div natürlich mit diesen arrangieren.
Ich vermute, dass mein überlagerndes div eigentlich parent sein muss, aber ich hab keine Ahnung wie ich das dann zusammenbauen soll =/.

Gruß, Seb
EG2011 ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
hp variable eine javascript sourc aufrufen istech PHP Einsteiger 7 16.03.2011 10:34
[Erledigt] Javascript mit Variablen in Php (echo) aufrufen xakeko PHP Tipps 2010 6 02.09.2010 13:36
Aus Javascript eine php-Funktion aufrufen? maikell PHP Tipps 2010 5 20.08.2010 11:14
timing Probleme bzw Zusammenspiel PHP Javascript thica PHP Tipps 2009 2 19.02.2010 19:06
[Erledigt] JavaScript Funktionen richtig aufrufen sagato0816 JavaScript, Ajax und mehr 5 10.10.2009 15:40
[Erledigt] Variable von Javascript mit 1x1px-Bild an PHP übergeben beneblack PHP Tipps 2009 18 03.05.2009 22:40
[Erledigt] Javascript in PHP Aufrufen coyboc PHP Tipps 2009 17 10.04.2009 15:28
JAVASCRIPT aus PHP aufrufen guckers PHP Tipps 2009 2 24.01.2009 16:04
1101: 10x JavaScript und kein Ende ist abzusehen… Nikolaus 2.0 Adventskalender 2008 9 13.12.2008 20:11
[Erledigt] PHP-Script durch JavaScript aufrufen, Ergebnis darstellen henry555 JavaScript, Ajax und mehr 13 16.10.2008 15:40
JavaScript - Function aus Variabel aufrufen stefanjann HTML, Usability und Barrierefreiheit 6 04.09.2006 08:55
PHP-Script mit JavaScript aufrufen nicobischof PHP Tipps 2006 1 27.08.2006 13:09
[Erledigt] Javascript mit PHP aufrufen PHP Tipps 2004 7 15.09.2004 15:59

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php javascript aufrufen, javascript in php, php javascript funktion aufrufen, javascript innerhalb php, java script in php, javascript aus php aufrufen, javascript in php ausführen, php js script aus php aufrufen, aus php javascript aufrufen, java script funktion in php aufrufen, von php javascript funktion aufrufen, javascrippt innerhalb von php ausführen, javascript function aus php aufrufen, javascript nach php ausführen, javascript aus php ausführen, in javascript php aufrufen, java script variable in php echo aufrufen, javascrip in php, js in php ausführen, javscript aus php aufrufen

Alle Zeitangaben in WEZ +2. Es ist jetzt 05:24 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum