Ankündigung

Einklappen
Keine Ankündigung bisher.

Radio Button setzen je nach Variable

Einklappen

Neue Werbung 2019

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

  • Radio Button setzen je nach Variable

    Hallo,

    folgender Code:

    PHP-Code:
    echo '<input type="radio" name="flugzumdienst-0" value="true"  onclick="anreiseFlugzeug(this)"'; if(${"flug_" $h} == "1") {echo 'checked="checked"';} echo '>Ja';
    echo 
    '<input type="radio" name="flugzumdienst-0" value="false" onclick="anreiseAuto(this)"'; if(${"flug_" $h} == "0") {echo 'checked="checked"';} echo '> Nein'
    Die Variable ${"flug_" . $h} ist valide und hat in einem konkreten Beispiel den Wert string(1) "0"
    Ich würde mit dem o.a. Code erwarten, dass der 2. Radio Button gesetzt ist, das ist aber leider nicht der Fall. Keiner der beiden Buttons ist gesetzt. Auch wenn ich {echo 'checked="checked"';} durch {echo 'checked';} ersetze, ändert sich nichts am Ergebnis.

    Wo liegt mein (Denk)-Fehler?

  • #2
    Dein Problem ist, dass Javascript mit PHP falsch zusammenkleisterst. Und dann noch auf eine besonders wiederliche Art. Am besten lernst Du erstmal HTML, dann JS und danach PHP. Wenn Du das alles trennst, hast Du vor allem mal einen Blick dafür, wo alles falsch läuft.
    Dein Quellcode ist auch nicht eingerückt, was sehr schlampig aussieht.
    Hauptfehlerqueller ist dieser Unsinn hier:

    ${"flug_" . $h} Solch Konstruktionen kannst Du Dir sparen. Lern erstmal wie man Variablen definiert.
    bitcoin.de <- Meine Freelancerwährung

    Kommentar


    • #3
      Vielen Dank für die Antwort. Leider hilft mir das überhaupt nicht weiter.
      Der o.a. Code ist per PHP erzeugter HTML Code. Ich kann nicht erkennen, wo ich was vermischen würde. Falls doch, bitte ich um Aufklärung.

      Die „Hauptfehlerquelle“ ${„flug_“.$h} ist eine dynamisch erzeugte Variable, die an anderer Stelle im Script wunderbar arbeitet. Was ist daran also Mist?

      Die selbe Codezeile habe ich für einen Input type select auch genutzt und hier funktioniert es wunderbar. Der Wert, der aus der DB kommt, wird vorselektiert.
      Warum wird also nur der entsprechende Radiobutton nicht gechecked?

      Kommentar


      • #4
        Schau mal hier
        https://php-de.github.io/jumpto/ausw...en-der-anzeige
        The string "()()" is not palindrom but the String "())(" is.

        Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
        PHP.de Wissenssammlung | Kein Support per PN

        Kommentar


        • #5
          Danke dafür, aber ist das nicht genau das, was ich gemacht habe?
          Falls nein, wo ist mein Fehler?
          Wie gesagt, bei einem Select Input funktioniert die Syntax wunderbar.....

          Kommentar


          • #6
            Habe den Code jetzt folgendermaßen abgeändert:

            PHP-Code:
            echo'<input type="radio" name="flugzumdienst-update" value="true"  onclick="anreiseFlugzeug(this)"'; if($fluganreise_array[$h] == "1") echo 'checked="checked"'; echo'>Ja';
            echo
            '<input type="radio" name="flugzumdienst-update" value="false" onclick="anreiseAuto(this)"'; if($fluganreise_array[$h] == "0") echo 'checked="checked"'; echo '>Nein'
            Auch hier ist der Arraywert valide.
            Wenn ich mir die Zeilen im Browser ausgeben lasse, ist keiner der Buttons angewählt, obwohl die Variable $fluganreise_array[$h] == 0 ist.

            Wenn ich mir die Elemente dann anschaue, bekomme ich dieses erstaunliche Ergebnis:

            HTML-Code:
            <input type="radio" name="flugzumdienst-update" value="false" onclick="anreiseAuto(this)" checked="checked">
            Mein Code funktioniert also, nur die Ausgabe ist fehlerhaft, oder? Woran kann das liegen?

            Kommentar

            Lädt...
            X