Daten auf Element übertragen
Muck
- javascript
0 Der-Dennis0 Muck0 Der-Dennis0 Muck
Guten Tag!
Ich möchte einen Online-Fußballmanager programmieren, aber momentan hänge ich bei der Aufstellung fest. Ich wollte es so gestalten, dass man links eine Auflistung der Spieler mit zugehörigem Button "aufstellen" hat. Auf der rechten Seite soll die eigentliche Aufstellung angezeigt werden (Kästchen mit Spielernamen angeordnet je nach Spielsystem, also 4-4-2, 3-5-2 ect). Für die Kästchen schienen mir die <div>-Elemente die geeignete Wahl. Nun möchte ich, dass durch Klick auf einen "aufstellen"-Button der Name des Spielers auf das Kästchen, welches gerade ausgewählt ist (es kann immer nur eines gleichzeitig aktiviert werden) übertragen wird. Hier kommt es zum Konflikt: Die Spielernamen werden aus einer Datenbank eingelesen, natürlich mittels php. Nun kann ich auf den Text des <div>-Elementes ja anscheinend nur mit JavaScript zugreifen - ich rufe nun im onclick-Atrribut der "aufstellen"-Buttons eine JS-Funktion auf, welche folgendermaßen aussieht:
function SelectPlayer (nr) {
var spieler_name;
spieler_name = '<?php echo $spieler[nr][1]; ?>'; // funktioniert nicht, da ich JS-Variable nr nicht einfach in php einfügen kann. Ok... Aber wie dann?
for (var i = 1; i < 12; i++)
{
if (document.getElementById("a"+i).name == "1") {
document.getElementById("a"+i).firstChild.nodeValue = spieler_name;
break;
}
}
}
Der Knackpunkt ist im Code-Kommentar beschrieben. Über Lösungsvorschläge wäre ich sehr dankbar!
Wenn ihr Ideen habt, wie man das Ganze komplett besser gestalten könnte, könnt ihr sie mir auch gerne sagen.
Grüße Muck
Hallo Muck,
spieler_name = '<?php echo $spieler[nr][1]; ?>'; // funktioniert nicht, da ich JS-Variable nr nicht einfach in php einfügen kann. Ok... Aber wie dann?
dafür gibt es mehrere Möglichkeiten. Wenn Du das so machen möchtest, wie Du das beschrieben hast, musst Du den JS-Code mittels PHP generieren lassen. Sprich: Das, was im Moment "nicht funktioniert", funktioniert, wenn Du es mit PHP machst.
Gruß, Dennis
Wie meinst du das genau? Ich kann ja keine php-Funktion über onclick aufrufen, oder?
Mal nebenbei: Wo kann ich mich im Forum einloggen? :-)
Hey Muck,
Wie meinst du das genau? Ich kann ja keine php-Funktion über onclick aufrufen, oder?
nein, über onclick kannst Du keine php-Funktion aufrufen.
Du kannst aber prinzipiell JavaScript-Code mit PHP generieren. Erstelle also einfach mal eine PHP-Datei, spiel ein bisschen damit rum und versuche z.B. Folgendes:
<?php
$spieler = "test";
?>
<html>
<head>
<script type="text/javascript">
var spieler = <?php echo $spieler ?>;
</script>
</head>
</html>
und schau Dir dann nachher im Quelltext an, welchen Wert die JS-Variable spieler hat. (Das Beispiel oben ist in der Form natürlich sinnlos, es geht erstmal nur ums Prinzip; aber wie gesagt, spiel mal ein bisschen damit rum; und wenn Du noch Fragen hast, meld Dich einfach).
Mal nebenbei: Wo kann ich mich im Forum einloggen? :-)
Oben links auf der Forums-Startseite unter "Optionen" gibt's eine Benutzerregistrierung. Wenn Du Dich da registriert hast, kannst Du http://forum.de.selfhtml.org/my/ aufrufen und wirst dann nach Benutzername und Passwort gefragt.
Gruß, Dennis
Hey!
Ich hänge leider immernoch... Hab schon alles mögliche ausprobiert - javascript-Code mit php generieren haut irgendwie nicht wirklich hin. Letztendlich geht es ja nur um die Variable "nr", die an die js-Funktion übergeben wird und die ich dann nicht in den php-Teil einfügen kann, weil es halt eine js-Var ist.
Hallo Muck,
Ich hänge leider immernoch... Hab schon alles mögliche ausprobiert
was hast Du denn schon ausprobiert?
javascript-Code mit php generieren haut irgendwie nicht wirklich hin.
Doch, das haut hin! Aber ...
Letztendlich geht es ja nur um die Variable "nr", die an die js-Funktion übergeben wird und die ich dann nicht in den php-Teil einfügen kann, weil es halt eine js-Var ist.
... ich glaube hier gibt's ein Verständnisproblem. Kannst Du nochmal beschreiben, was Du eigentlich erreichen möchtest (das gewünschte Ergebnis)!? Und von welchem Kontext (hier: Kontext = JavaScript, PHP, ...) Du welche Daten (z.B. die Variable "nr") an welchen anderen Kontext senden möchtest!?
Gruß, Dennis