DFBL-Benjamin Geschrieben 16. August 2005 Teilen Geschrieben 16. August 2005 Ich habe ein Formular, wo verschiedene Punkte ausgefüllt werden müssen. Wenn man jetzt Heimmannschaft und Gastmannschaft ausgefüllt hat, soll bei einem Auswahlmenü, der Name der Heim- und Gastmannschaft bei dem richtigen Auswahlpunkt erscheinen. Wie muss ich sowas programmieren? Ich wollte es so machen: <html> <head> <script type="text/javascript"> function aendern(obj) { var gast = document.formular.gast.selectedIndex; var heim = document.formular.heim.selectedIndex; alert("Es wurde das Objekt geändert! heim - gast"); } </script> </head> <body> <form action='$PHP_SELF' method='POST' name='formular'> Heimmannschaft: <select name="heim"> <option name='1'>Verein A <option name='2'>Verein B usw. </select> Gastmannschaft: <select name="gast" onChange="aendern(this);"> <option name='1'>Verein A <option name='2'>Verein B usw. </select> Spielgemeinschaft: <select name="sg_mann"> <option name='1'>Heimmannschaft // Hier soll dann noch der Heim-Verein stehen <option name='2'>Gastmannschaft // Hier soll dann noch der Gast-Verein stehen <option name='3'>Beide Mannschaften // Hier soll dann beide Vereine stehen <option name='4'>Keine Mannschaft </select> <input type='Submit' value='Absenden' name='ueberpruefung_spieldaten'> </form> </body> </html> [/PHP] stimmt meine eingebauten Javascript-Befehle überhaupt, die ich an die Stellen plaziert habe? Beispiel: Heimmannschaft: Verein B (wurde ausgewählt!) Gastmannschaft: Verein Z (wurde ausgewählt!) Jetzt muss die Auswahlpunkt geändert werden. Spielgemeinschaft: Auswahlpunkt 1: Heimmannschaft SG Verein B Auswahlpunkt 2: Gastmannschaft SG Verein Z Auswahlpunkt 3: Beide Mannschaften SG Verein B - SG Verein Z Auswahlpunkt 4: Keine Mannschaft So sollte das Verzeichnis dann aussehen als Verein soll dann der Name des Vereins stehen. Ich hoffe, so ist die Beschreibung OK, sonst einfach nachfragen! Danke schon mal für die Antworten. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
mkScheller Geschrieben 17. August 2005 Teilen Geschrieben 17. August 2005 try this: <html> <head> <title>Mannschaft</title> <script type="text/javascript"> <!-- function aendern(obj) { var strHeimSelectedText = document.formular.heim.options[document.formular.heim.selectedIndex].text; var strGastSelectedText = document.formular.gast.options[document.formular.gast.selectedIndex].text; document.formular.sg_mann.options[0].text = "Heimmannschaft " + strHeimSelectedText; document.formular.sg_mann.options[1].text = "Gastmannschaft " + strGastSelectedText; document.formular.sg_mann.options[2].text = strHeimSelectedText + ", " + strGastSelectedText; //alert("Es wurde das Objekt geändert! heim - gast"); } --> </script> </head> <body> <form action='$PHP_SELF' method='POST' name='formular'> Heimmannschaft: <select name="heim"> <option name='1'>FSV Luckenwalde</option> <option name='2'>FC Baruth</option> </select> Gastmannschaft: <select name="gast" onChange="aendern(this);"> <option name='1'>TSV Ober-Erlenbach</option> <option name='2'>FC Teupitz</option> </select> Spielgemeinschaft: <select name="sg_mann"> <option name='1'>Heimmannschaft</option> <!--// Hier soll dann noch der Heim-Verein stehen--> <option name='2'>Gastmannschaft</option> <!--// Hier soll dann noch der Gast-Verein stehen--> <option name='3'>Beide Mannschaften</option> <!--// Hier soll dann beide Vereine stehen--> <option name='4'>Keine Mannschaft</option> </select> <input type='Submit' value='Absenden' name='ueberpruefung_spieldaten'> </form> </body> </html> by mk Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
mkScheller Geschrieben 17. August 2005 Teilen Geschrieben 17. August 2005 der Funktion muss in dieser Implementierungsvariante gar kein Parameter übergeben werden Was mir aufgefallen ist: Wenn man nicht die Gastmannschaft ändert, dann wird das Skript auch nicht aktiv, von daher wäre es ratsam, den Event auch bei der Auswahl der Heimmannschaft auszulösen mfg -mk Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
DFBL-Benjamin Geschrieben 17. August 2005 Autor Teilen Geschrieben 17. August 2005 @mkScheller danke für den tollen Tipp! ich habe leider recht wenig Zeit, deshalb habe ich das mal schnell getestet und es funktioniert auch so wie ich es möchte! Hoffe, dass es dann in dem Script wo es gehen soll auch läuft. Erst mal schon ein Super Dankeschön für die Hilfe! Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
DFBL-Benjamin Geschrieben 18. August 2005 Autor Teilen Geschrieben 18. August 2005 Das funktioniert auch, aber wenn ich jetzt das Formular absende und die Daten Ok sind, werden diese nochmal ausgegeben zur Kontrolle. Wenn man jetzt auf Korrigieren geht, dann wird das Formular, wo man die Heim- und Gastmannschaft und die Spielgemeinschaft ausgewählt hat, wieder angezeigt, was angegeben wurde. Wenn ich jetzt den Heim oder Gastmannschaft verändere, dann verändert sich die Reihenfolge der spielgemeinschaft. Kann ich irgendwie sagen, dass beim Aufruf des Formulares als erstes die Funktion aendern aufgerufen wird? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
mkScheller Geschrieben 18. August 2005 Teilen Geschrieben 18. August 2005 hä? ich versteh nix. also die daten werden nochmal ausgegeb, ok. reihenfolge der spielgemeinschaft? kapier ich nich. probier mal das:<body onload="aendern()"> Literatur: selfhtml ich glaube trotzdem dass ich dich missverstanden habe ----------------------- mein motto: hab keins Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
DFBL-Benjamin Geschrieben 19. August 2005 Autor Teilen Geschrieben 19. August 2005 Das Auswahlmenü von Spielgemeinschaft würde, wenn man einen Verein verändert so aussehen, wenn man die Korrektur machen würde: 1 Heimmannschaft 2 Heimmannschaft Verein XY 3 Gastmannschaft Verein ZF 4 Beide Mannschaften Verein XY - Verein ZF Solange ich keine Änderung des Vereins mache, wird das Menü auch richtig angezeigt, wie nachfolgend zu sehen: 1. Heimmanschaft 2. Gastmannschaft 3. Beide Mannschaften 4. Keine Mannschaften Aber wenn ich jetzt einen Verein ändere, dann gibt es mir das erste Auswahlmenü aus. Aber das ist falsch, aber der Wert der markiert ist stimmt über ein, wie es übergeben wurde, also wenn der 3 Punkt ausgewählt wurde, wird bei der Korrektur halt auch der 3 Punkte angezeigt, bloß halt nach der Änderung des Vereins, eine andere Be*****lung. ich werde dein Tipp heute Mittag daheim probieren! Dann hoffe ich dass das so klappt wie ich mir das denke. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
mkScheller Geschrieben 19. August 2005 Teilen Geschrieben 19. August 2005 ey sorry, aber selbst nach mehrmaligen lesen kapier ich das problem immernoch nicht Versteh ich dich richtig: -User sendet formular ab -zur sichertheit wird vollständige html seite mit formluar nochmal angezeigt? is ja ersmal schon ziemlich dämlich aber okay -dann öndert der user was im menü der heimmannschaft, oder was meinst du mit verein ändern? - eine andere Be____???? Formulier am besten mal kurze eindeutige Sätze! Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
DFBL-Benjamin Geschrieben 19. August 2005 Autor Teilen Geschrieben 19. August 2005 also jetzt mal nochmal langsam! 1. User füllt das Formular aus. a) Wenn er die Heimmannschaft ausfüllt, wird das Feld Spielgemeinschaft aktualisiert mit dem Namen der Heimmannschaft Beim Ausfüllen der Gastmannschaft wird auch das Feld Spielgemeinschaft aktualisiert mit dem Namen der Gastmannschaft c) Absenden klicken 2. Zur Kontrolle werden die Daten nochmal angezeigt. Da einige dass Formular nicht richtig ausfüllen, landet die Mail wo anders, statt bei der Person X. Deshalb die nochmalige Ausgabe. 3. Wenn man die Eingabe korrigieren möchte, klickt man darauf. a) Die Eingaben werden angezeigt. Ich habe jetzt noch den Befehl in den Body eingetragen, trotzdem werden die Namen falsch angezeigt. c) Spielgemeinschafts-Auswahl-Fenster sieht folgendermaßen aus: Heimmannschaft Heimmannschaft Verein X Gastmannschaft Verein Y Beide Mannschaften Verein X - Verein Y Warum wird jetzt unter 3 c der Punkt Heimmannschaft 2 x aufgeführt? Beim einen wird der Verein angezeigt beim anderen nicht. Mein Code: echo "<html><head>"; echo "<link rel='stylesheet' type='text/css' href='grundgeruest.css'>"; echo "<title>Spielbestätigung im XY</title>"; ?> <script type="text/javascript"> function aendern() { var strHeimSelectedText = document.formular.heim.options[document.formular.heim.selectedIndex].text; var strGastSelectedText = document.formular.gast.options[document.formular.gast.selectedIndex].text; document.formular.sg_mann.options[1].text = "Heimmannschaft SG " + strHeimSelectedText; document.formular.sg_mann.options[2].text = "Gastmannschaft SG " + strGastSelectedText; document.formular.sg_mann.options[3].text = "Beide Mannschaften (siehe Heim/ Gast)"; document.formular.sg_mann.options[4].text = "Keine Mannschaft"; } </script> <?php echo "</head><body onload=\"aendern()\">"; echo "<form action='$PHP_SELF' method='POST' name='formular'>"; echo "<h1>Eingabe der Daten über das zu bestätigende Spiel</h1>"; echo "<br>"; echo "<table border='0' align='center' width='100%'>"; echo "<colgroup>"; echo "<col width='40%'>"; echo "<col width='10%'>"; echo "<col width='50%'>"; echo "</colgroup>"; echo "<tr>"; echo "<th align='right'>Heimmannschaft</th>"; echo "<th align='center'>*</th>"; echo "<td align='left'>"; echo "<select name='heim' onChange=\"aendern();\">"; vereine($heim); echo "</select>"; echo "</td>"; echo "</tr>"; echo "<tr>"; echo "<th align='right'>Heimmannschafts-Nummer</th>"; echo "<th align='center'></th>"; echo "<td align='left'><input type='text' name='heim_nr' value='$heim_nr' size='2' maxlength='2'></td>"; echo "</tr>"; echo "<tr>"; echo "<th align='right'>Gastmannschaft</th>"; echo "<th align='center'>*</th>"; echo "<td align='left'>"; echo "<select name='gast' onChange=\"aendern();\">"; vereine($gast); echo "</select>"; echo "</td>"; echo "</tr>"; echo "<tr>"; echo "<th align='right'>Gastmannschafts-Nummer</th>"; echo "<th align='center'></th>"; echo "<td align='left'><input type='text' name='gast_nr' value='$gast_nr' size='2' maxlength='2'></td>"; echo "</tr>"; echo "</table>"; echo "<table border='0' align='center' width='100%'>"; echo "<colgroup>"; echo "<col width='40%'>"; echo "<col width='10%'>"; echo "<col width='50%'>"; echo "</colgroup>"; echo "<tr>"; echo "<th align='right'>Spielgemeinschaft</th>"; echo "<th align='center'>*</th>"; echo "<td align='left'>"; echo "<select name='sg_mann'>"; auswahl_sg($sg_mann); echo "</select>"; echo "</td>"; echo "</tr>"; echo "</table>"; // Sendeknopft echo "<p align='center'><input type='Submit' value='Absenden' name='ueberpruefung_spieldaten'></p>"; echo "</form>"; echo "<form action='index2.php' method='post'>"; echo "<p align='center'><input type='Submit' value='Zurück'></p>"; echo "</p>"; echo "</form>"; echo "</body>"; echo "</html>"; // Damit wird beim ersten Aufruf des Formulares, das Feld Spielgemeinschaft erstellt function auswahl_sg($sg_nr) { if($sg_nr == 1) { echo "<option value='1' style='font-family:Courier' selected>Heimmannschaft"; echo "<option value='2' style='font-family:Courier'>Gastmannschaft"; echo "<option value='3' style='font-family:Courier'>Beide Mannschaften"; echo "<option value='4' style='font-family:Courier'>Keine Mannschaft"; } else if($sg_nr == 2) { echo "<option value='1' style='font-family:Courier'>Heimmannschaft"; echo "<option value='2' style='font-family:Courier' selected>Gastmannschaft"; echo "<option value='3' style='font-family:Courier'>Beide Mannschaften"; echo "<option value='4' style='font-family:Courier'>Keine Mannschaft"; } else if($sg_nr == 3) { echo "<option value='1' style='font-family:Courier'>Heimmannschaft"; echo "<option value='2' style='font-family:Courier'>Gastmannschaft"; echo "<option value='3' style='font-family:Courier' selected>Beide Mannschaften"; echo "<option value='4' style='font-family:Courier'>Keine Mannschaft"; } else if($sg_nr == 4) { echo "<option value='1' style='font-family:Courier'>Heimmannschaft"; echo "<option value='2' style='font-family:Courier'>Gastmannschaft"; echo "<option value='3' style='font-family:Courier'>Beide Mannschaften"; echo "<option value='4' style='font-family:Courier' selected>Keine Mannschaft"; } else { echo "<option>"; echo "<option value='1' style='font-family:Courier'>Heimmannschaft"; echo "<option value='2' style='font-family:Courier'>Gastmannschaft"; echo "<option value='3' style='font-family:Courier'>Beide Mannschaften"; echo "<option value='4' style='font-family:Courier'>Keine Mannschaft"; } } [/PHP] Warum wird das Auswahl-Verzeichnis erst beim zweiten Mal falsch ausgegeben und nicht gleich beim erstehen mal? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
mkScheller Geschrieben 19. August 2005 Teilen Geschrieben 19. August 2005 au au au aua genauso wie dein coding styl is, hab ich vor einiger zeit auch gecodet, dass is total schrott, schlecht zu lesen. schon mal was von MVC [Modell View Controller] gehört? ersmal solltest du alle echos weglassen, wo sie nicht benötigt werden, sprich allen statischen html-kram ohne php-echo stehen lassen, wird als template bezeichnet. dann wäre es ratsam, die php-methoden, die für die Ausgabe der Vereine zuständig sind, was ja in jedem Fall schonmal gut is (Modell), nur die Vereine ausgeben zu lassen und nicht noch den HTML-code dafür, sprich den gesamten konstrukt (inkl HTML-code) lässt du über etwas wie if (vereine.nextVerein() = true) <html> vereine.getNextVerein() </html> ausgeben. glaub mir, wenn du jetzt 2 wochen urlaub machst und keinen gedanken daran verschwendest, brauchst du ersmal einen kompletten tag, um dich wieder einzulesen und die logik zu kapieren *mir gings so* zu der frage warum doppelt angezeigt: Kann es sein, dass das Array bei 0 (Null) beginnt, statt bei eins? --------------------------------------------------------------------- oh mann, vielleicht sollte ich doch mal langsam anfangen php zu erlernen Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
DFBL-Benjamin Geschrieben 19. August 2005 Autor Teilen Geschrieben 19. August 2005 das Problem mit der 0 habe ich so gelöst, dass ich einfach bei jeder Option noch eine leere Option eingefügt habe, dann hat es funktioniert. Jetzt geht es auf jeden Fall so, wie ich es gerne habe. Das andere umzustellen, wäre gerade zu viel arbeit, da alle Systeme super laufen. Aber wenn ich mal das generell neu machen sollte, was bestimmt ab Februar der Fall sein wird. Da könnte ich es nach der neuen Form mache. Aber das mit dem MVC-Modell habe ich noch nicht ganz kapiert, was ich da alles machen muss. Habe die Zeit gerade nicht. Wie meinst du dass mit dem Verein? Kannst du mir das näher erklären, wie das funktioniert am MVC-Modell, wie du schon angefangen hast. DANKE! wo her bekomme ich noch mehr infos über das MVC-Modell her? Du kennst bestimmt super seiten dazu! Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
mkScheller Geschrieben 19. August 2005 Teilen Geschrieben 19. August 2005 wenn du eh keine zeit hast...ich werde mal versuchen, dass bis Ende Sonntag in PHP so zu programmieren, wie es am besten wäre, allerdings muss ich mich überwinden, hier zuhause eine umgebung aufzusetzen, wo php funktionier, evtl kannst du mir da einen tipp geben? möglichst so, dass ich nur auf installieren klicken muss und nicht noch irgendwelche angaben machen muss, ob apache oder i-Planet oder tomcat oder struts oder ... *ich hasse das aufsetzen von umgebungen* Also wenn du nen Tipp für eine lauffähige PHP-Umgebung hast, wo man testen kann, dann bitte. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
DFBL-Benjamin Geschrieben 19. August 2005 Autor Teilen Geschrieben 19. August 2005 ich würde dir XAMPP empfehlen, da ist alles dabei, was man benötigt! dies findest du unter www.apachefriends.de!!!! Ich hätte auch keine Geduld jeder Teil einzeln zu installieren, damit geht es sehr schnell und einfach! Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
mkScheller Geschrieben 19. August 2005 Teilen Geschrieben 19. August 2005 ok, das hab ich neulich auch schon runtergeladen bloß aus respekt/furcht vor einer konfiguration nicht installiert. wie kann ich jetzt komfortabel bzw einfach nur richtig ein neues projekt anlegen? weil jetzt mach ich das einfach im ordner xamp\htdocs\xampp\neues_projekt Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
DFBL-Benjamin Geschrieben 25. August 2005 Autor Teilen Geschrieben 25. August 2005 so mache ich dass auch immer! andere möglichkeit kenne ich nicht! was verstehst du unter Projekt? ich stelle halt alle Datein in das Verzeichnis unterhalb von htdocs rein und starte den Server und die Datenbank, dann teste ich und programmiere. was anderes kann man damit nicht machen. was stellst du dir denn noch vor? PS: Sorry, dass ich solange nicht mehr geschrieben habe, war ziemlich im Streß. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
mkScheller Geschrieben 25. August 2005 Teilen Geschrieben 25. August 2005 naja, hät ja sein können, dass im setupscreen irgendne möglichkeit gegeben is, das komfortabel als neues projekt anzulegen, aber wenns das nicht gibt, wärs ja mal ne idee son php-skript zu basteln, was in die startseite von xampp integriert is, so von wegen Neues Projekt -> Klick -> Name des Projektes: ______ -> OK -> neue Ordner wird erstellt mit index.php und man sieht dazu noch die index.php im browser mit einigen standard-html-meta-elemten, wo man nur noch seine angaben eintragen muss und die datei editieren kann, mit syntaxhighlighting, so wie es hier beim einfügen von PHP-CODE verwendet wird. FRAGE: Ist die Implementierung des PHP-CODE-Coloring, die für dieses Forum verwendet wird frei erhältlich? Quasi Open-Source? OpenPHP? Ich hätte dann echt bock, das in javascript umzuwandeln, sodass bei jedem eingegeben zeichen in diesem browserfenster sofort das coloring entsprechend greift...dürfte aber ne menge performance kosten-ach druff geschissn, hauptsache es rockt! bla bla bla Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.