Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] Radio ONCLICK soll input-types sichtbar machen

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [Erledigt] Radio ONCLICK soll input-types sichtbar machen

    Hallo,

    ich habe ein ziemlich kleines Problem, was sicher schon 1000 mal gelöst wurde aber ich habe nichts gefunden was mit helfen konnte

    ich habe ein Formular in dem man 2 Radiobuttons zur Auswahl hat, und je nach dem welches angeklickt wurde sollen darunter verschiedene Sachen erscheinen / ausgegeben werden.

    dazu habe ich einen JS erstellt:

    Code:
    function Verkaufen () {
      if (document.Verkaufenform.Verkaufsart[0].checked == true) {
        {$Art} = "A";
      } else if (document.Verkaufenform.Verkaufsart[1].checked == true) {
        {$Art} = "B";
      } else {
        alert("Bitte eine Verkaufsart wählen");
      }
    }
    das Formular sieht so aus:

    Code:
    <form name="Verkaufenform" action="./VerkaufenT2.php" method="post" \>
    
    <p \>
    <b \>Verkaufsart:</b \><br \>
    <input type="radio" name="Verkaufsart" value="Versteigerung">Spieler versteigern<br \>
    <input type="radio" name="Verkaufsart" value="Fix">Fixe Ablösesumme<br \>
    
    ---HIER SOLL $ART AUSGEGEBEN WERDEN!---
    
    </p \>
    
    </form \>
    Wenn der erste Radio Button ausgewählt wurde soll darunter eben "A" ausgegeben werden, und beim zweiten "B".

    Wie stelle ich das denn am einfachsten an?!

    Danke schonmal

    Gruß
    MCee Donald

  • #2
    Mit felder ein bzw ausblenden vielleicht?

    Kommentar


    • #3
      Zitat von tomtaz Beitrag anzeigen
      Mit felder ein bzw ausblenden vielleicht?
      vielen Dank

      auf deutsch kann ich das auch, aber nicht auf HTML-isch O_o
      sonst würde ich ja nicht fragenn....

      also, wie blende ich die dinger denn aus bzw. ein? muss das auch per JS gehen?

      Theoretisch ist das kein Problem, aber praktisch (Syntax, Befehle, ...) kenn ich mich eben nicht aus...
      Bin eine Laie auf dem gebiet, also bitte etwas genauer

      Gruß
      MCee Donald

      Kommentar


      • #4
        Such einfach mal bei google, dann findest du bestimmt eine Lösung. Alternativ kannst du auch hier im Forum suchen, den soweit ich weiß wurde dieses Thema schon oft genug behandelt.

        Was du dazu brauchst ist:
        * Javascript
        * Css

        Kommentar


        • #5
          Hier im Wiki ist das ganze für Links beschrieben (Inhalte ein- und ausblenden) mit onClick und this.checked kann man das einfach umschreiben. Ich empfehle die Variante mit CSS Klasse.

          Kommentar


          • #6
            Mmh, was ist denn das hier für ne Notation?:
            Code:
            <p \>
            Schreibt man nicht:
            Code:
            <p>
            *kopfkratz*

            Meinst du sowas hier?:

            Code:
            <script>
            function Verkaufen () {
              if (document.Verkaufenform.Verkaufsart[0].checked == true) {
                document.getElementById("art").innerHTML = "A";
              } else if (document.Verkaufenform.Verkaufsart[1].checked == true) {
                document.getElementById("art").innerHTML = "B";
              }
            }
            </script>
            <p \>
            <b \>Verkaufsart:</b \><br \>
            <input type="radio" name="Verkaufsart" value="Versteigerung" onclick="Verkaufen();">Spieler versteigern<br \>
            <input type="radio" name="Verkaufsart" value="Fix" onclick="Verkaufen();">Fixe Ablösesumme<br \>
            
            <div id="art">Bitte eine Verkaufsart wählen!</div>
            
            </p \>
            Mann, heut hab ich wirklich gute Laune

            Kommentar


            • #7
              <b \>Verkaufsart:</b \><br \>
              >>
              <b>Verkaufsart:</b><br />

              Kommentar


              • #8
                Juhu danke Andreas, genau sowas habe ich gesucht

                und wie gebe ich jetzt statt dem "A", oder "B" z.B. einen neuen Radio Button aus?

                so geht es ja sicher nicht oder?:
                Code:
                if (document.Verkaufenform.Verkaufsart[0].checked == true) {
                    document.getElementById("art").innerHTML = "
                
                <input type="radio" name="Neu" value="Neu">Neues Feld<br \>
                
                ";
                also wie muss ich die Syntax da anpassen?

                Und wegen dem:
                Code:
                <b \>
                Da ich die HTML-Datei später in eine PHP einbinde, muss ich die dinger soviel ich weiß so escapen... naja is ja auch egal ^^ hauptsache es klappt so...

                Danke schonmal

                Kommentar


                • #9
                  Sag mal, wer hat dir denn beigebracht, dass HTML-Tags mit Backslashs geschlossen werden?
                  Wenn du HTML und nicht XHTML benutzt, musst du standalone-Tags auch gar nicht schließen.
                  Also
                  Code:
                  <br>
                  statt
                  Code:
                  <br />
                  Aber auf keinen Fall
                  Code:
                  <br \>
                  Beitrag editiert:
                  […] Und erst recht nicht
                  Code:
                  <p>abc</p \>

                  Kommentar


                  • #10
                    so wie ich das verstehe muss ich das so machen sobald ich den code in eine PHP-Seite einbinde, und so werden mir auch weniger Fehler bei w3.org angezeigt als ohne Backslash...

                    und das mit dem JS hab ich jetzt auch so hinbekommen wie ichs wollte =)

                    Code:
                    <script>
                    function Verkaufen () {
                      if (document.Verkaufenform.Verkaufsart[0].checked == true) {
                        document.getElementById("art").innerHTML = "<input type='radio'>Neues Feld";
                      } else if (document.Verkaufenform.Verkaufsart[1].checked == true) {
                        document.getElementById("art").innerHTML = "B";
                      }
                    }
                    </script>

                    Vielen Dank für eure Hilfe
                    Gruß
                    MCee Donald

                    Kommentar


                    • #11
                      so wie ich das verstehe muss ich das so machen sobald ich den code in eine PHP-Seite einbinde, und so werden mir auch weniger Fehler bei w3.org angezeigt als ohne Backslash...
                      Eh… nö. Backslashes sind im HTML-Standard gar nicht vorgesehen.
                      Und es gilt nicht, weniger Fehler zu bekommen, sondern gar keine und mit PHP hat der Backslash auch nichts zu tun. Du solltest versuchen, valides Markup zu erzeugen.

                      Kommentar


                      • #12
                        hey, ich hab nun nochmals ein problem mit der selben geschichte...

                        hier mein Code:

                        Code:
                        <script>
                        function Ergebnis () {
                          if (document.ErgebnisNeu.Heim[0].checked == true) {
                            document.getElementById("art").innerHTML = "<table><tr><th>Spieltag</th><th>Heimmannschaft</th><th>Ergebnis</th><th>Gastmannschaft</th><th>Eintragen</th></tr><tr><td><select name='Preis' size='1'>{$Spieltag}</select></td><td><input type='hidden' name='Heim' value='{$Team}'>{$Team}</td><td><input type='text' align='middle' name='Ergebnis' size='3' value='0:0'></td><td><select name='Gast'>{$Teamwahl}</select></td><td><input type='submit' name='submit' value='Ergebnis eintragen'></td></tr></table>";
                          } else if (document.ErgebnisNeu.Heim[1].checked == true) {
                            document.getElementById("art").innerHTML = "<table><tr><th>Spieltag</th><th>Heimmannschaft</th><th>Ergebnis</th><th>Gastmannschaft</th><th>Eintragen</th></tr><tr><td><select name='Preis' size='1'>{$Spieltag}</select></td><td><select name='Heim'>{$Teamwahl}</select></td><td><input type='text' align='middle' name='Ergebnis' size='3' value='0:0'></td><td><input type='hidden' name='Gast' value='{$Team}'>{$Team}</td><td><input type='submit' name='submit' value='Ergebnis eintragen'></td></tr></table>";
                          }
                        }
                        </script>
                        
                        
                        <fieldset \><legend>Neues Ergebnis eintragen</legend>
                        <form name="ErgebnisNeu" action="./Ergebnisse.php" method="post" \>
                        
                        <p \>
                        <b \>Hattest du ein Heim-oder Gastspiel?</b \><br \>
                        <input type="radio" name="Heim" value="Heimspiel" onclick="Ergebnis();">Heimspiel<br \>
                        <input type="radio" name="Heim" value="Gastspiel" onclick="Ergebnis();">Gastspiel<br \>
                        
                        <div id="art">Bitte wählen!</div>
                        
                        </p \>
                        <br \>
                        </form \>
                        </fieldset \>
                        so, es funktioniert auch soweit, dass, wenn einer der Radio-Buttons geklickt wird, statt "Bitte wählen" die dazugehörige Tabelle angezeigt wird. Jedoch, wenn einer angeklickt wird, und danach der andere, "schaltet" es nicht um - es verändert sich also nicht mehr. Man muss die seite extra neu laden und den andren Button wählen...
                        es sollte aber schon möglich sein es im laufenden betrieb hin und her zu switchen....
                        Ich denke es ist einfach nur ein kleiner Syntax-fehler drin. Weiß es aber nicht genau.
                        Also hoffe ich auf eure Hilfe, wo ist der Fehler bzw. was muss ich anders machen?

                        Bitte keine Kommentare wegen dem Aufbau oder Übersicht - ich weiß selber bescheid ^^

                        Danke schonmal
                        Georg G.

                        Kommentar


                        • #13
                          Ok habs mir grad mal angeschaut und bisschen debuggt^^
                          Das Problem ist, das du in der Funktion ein Formularfeld erzeugst, das "Ergebnis" heisst und damit überschreibst du dann deine Funktion, so dass der Browser die Funktion nicht mehr kennt.
                          Also gibts du entweder der Funktoin einen anderen Namen oder dem Feld, ich würde der Funktion einen anderen Namen geben, da findest du sicher was aussagekräftigeres als Ergebnis

                          Und entferne bitte die ganzen Backslashes aus den HTML Tags, du wirst ohne mit Sicherheit nirgendwo probleme bekommen und ich bezweifle auch das du ohne weniger Fehler bekommst, ausserdem ist das Ziel ja, wie schon Manko10 vor mir erwähnt hat, auf 0 Fehler zu kommen

                          Kommentar


                          • #14
                            EDIT: Ich bin Georg G. ... Hab mich ausversehen mit dem falschen Account eingeloggt ^^
                            unglaublich

                            vielen Dank dass du dir dafür Zeit genommen hast =)
                            Hätte nicht gedacht dass jemand das kuddelmuddel durchschaut ^^

                            Geil, dass war das Problem, habe nun einfach die Funktion umgenannt.
                            VIELEN VIELEN Dank nochmal.

                            Kann man hier irgendwie für dich voten oder so?

                            Gruß
                            MCee Donald

                            Kommentar


                            • #15
                              Ja es gibt hier ein "Karma"- System. Einfach mal auf die Waage klicken...

                              Bitte den Thread noch als [Erledigt] markieren, danke.

                              Kommentar

                              Lädt...
                              X