Ankündigung

Einklappen
Keine Ankündigung bisher.

Klick auf table triggert input

Einklappen

Neue Werbung 2019

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

  • Klick auf table triggert input

    Hallo liebe Community! Ich habe derzeit ein kleines Problem mit einer Tabelle auf meiner Website. Es geht um einen Table, in dem die Antworten von Usern auf Quizfragen als richtig bzw. falsch markiert werden können. Dazu werden 2 Spalten verwendet, die jeweils ein Bild beinhalten. Einmal ein Häkchen fürs als richtig markieren und einmal ein Kreuz fürs als falsch markieren. Mithilfe einer Form werden die Daten weiter geschickt und die Datenbank wird dann dementsprechend verändert. Problem ist, dass wenn irgendwo auf den Table hingeklickt wird, der erste Input getriggered wird. Ich hab mich bereits auf Google umgeschaut, niemand scheint ein ähnliches Problem zu haben. Oder zumindest konnte ich nur Foren finden, in denen Leute wollten, dass es so wie bei mir ist. Ich möchte aber, dass nichts passiert, wenn irgendwo auf den Table geklickt wird (was ja logisch ist).

    Hier ein kleiner Ausschnitt meines Codes:

    PHP-Code:
      echo "<table border=1>";
      echo 
    "<th><b>Fragennummer</b></th><th><b>Fragenstellung</b></th><th><b>Antwort</b></th><th><b>Richtige Antwort</b></th><th><b>Als richtig markieren</b></th><th><b>Als falsch markieren</b></th>";
        while (
    $CheckForAnswerTable <= $QuestionNumber) {
          echo 
    "<tr>";
      echo 
    "<td>...</td>"//Einige Zeilen Code hier weggelassen
          
    echo "<td><form action='resultchange2.php' onsubmit="return confirm('Sind Sie sicher, dass sie Frage $CheckForAnswerTable als richtig markieren wollen?')" method='post'>";
          echo 
    "<input type='image' src='../pictures2/ok-1976099_1280.png' style="width:100px;" value='MarkAsRight$CheckForAnswerTable' name='MarkAs'></input>";
          echo 
    "</form></td>";
          
    // -------------
          
    echo "<td><form action='resultchange2.php' onsubmit="return confirm('Sind Sie sicher, dass sie Frage $CheckForAnswerTable als falsch markieren wollen?')" method='post'>";
          echo 
    "<input type='image' src='../pictures2/false-2061131_1280.png' style="width:100px;" value='MarkAsWrong$CheckForAnswerTable' name='MarkAs'></input>";
          echo 
    "</form></td>";
          echo 
    "</tr>";
    }
          echo 
    "</table><br>"
    Zumindest denke ich, dass das der relevante Teil ist. Falls er es nicht ist, hier der gesamte Code des Tables:

    PHP-Code:
    //    -------------------------------------------------------------------------------------------------------- Erstellen einer Tabelle (detailliert)

      
    $CheckForAnswerTable 1;
      
    $CheckForAnswerTable2 0;

      echo 
    "<table border=1>";
      echo 
    "<th><b>Fragennummer</b></th><th><b>Fragenstellung</b></th><th><b>Antwort</b></th><th><b>Richtige Antwort</b></th><th><b>Als richtig markieren</b></th><th><b>Als falsch markieren</b></th>";
        while (
    $CheckForAnswerTable <= $QuestionNumber) {
          echo 
    "<tr>";
          echo 
    "<td>Frage $CheckForAnswerTable</td>";
          echo 
    "<td>" $result_array2[$CheckForAnswerTable2]['Question'] . "</td>";
          if (${
    'Question' $CheckForAnswerTable} == $result_array2[$CheckForAnswerTable2]['RightAnswer'] or ${'Question' $CheckForAnswerTable} == "Als richtig markiert") {
              echo 
    "<td><font color=#00ce03>${'Question' $CheckForAnswerTable}</font></td>";
          }
          if (${
    'Question' $CheckForAnswerTable} != $result_array2[$CheckForAnswerTable2]['RightAnswer'] or ${'Question' $CheckForAnswerTable} == "Als falsch markiert") {
            if (${
    'Question' $CheckForAnswerTable} != "Als richtig markiert") {
              echo 
    "<td><font color=#d30000>${'Question' $CheckForAnswerTable}</font></td>";
            }
          }
          echo 
    "<td>" $result_array2[$CheckForAnswerTable2]['RightAnswer'] . "</td>";
          
    // -------------
          
    echo "<td><form action='resultchange2.php' onsubmit="return confirm('Sind Sie sicher, dass sie Frage $CheckForAnswerTable als richtig markieren wollen?')" method='post'>";
          echo 
    "<input type='image' src='../pictures2/ok-1976099_1280.png' style="width:100px;" value='MarkAsRight$CheckForAnswerTable' name='MarkAs'></input>";
          echo 
    "</form></td>";
          
    // -------------
          
    echo "<td><form action='resultchange2.php' onsubmit="return confirm('Sind Sie sicher, dass sie Frage $CheckForAnswerTable als falsch markieren wollen?')" method='post'>";
          echo 
    "<input type='image' src='../pictures2/false-2061131_1280.png' style="width:100px;" value='MarkAsWrong$CheckForAnswerTable' name='MarkAs'></input>";
          echo 
    "</form></td>";
          echo 
    "</tr>";
      
    $CheckForAnswerTable++;
      
    $CheckForAnswerTable2++;
        }
          echo 
    "</table><br>"
    Ich hoffe ich habe mich verständlich ausgedrückt. Die Arrays im Code und anderen Variablen beinhalten im Grunde die Antworten. Einmal die richtigen, einmal die vom Nutzer.
    Ich hoffe ihr könnt mir helfen, danke ^^

  • #2
    Was bedeutet denn "ein Input wird getriggert"? Getriggert werden können nur Events. Also was willst Du wirklich sagen? Und was hat das alles mit mit zu tun?
    PHP-Manual ¡ mysql_* ist veraltet ¡ Debugging: Finde DEINE Fehler selbst ¡ Passwort-Hashing ¡ Prepared Statements

    Kommentar


    • #3
      MOD: Verschoben von PHP-Einsteiger
      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


      • #4
        Zitat von Davimalu Beitrag anzeigen
        Problem ist, dass wenn irgendwo auf den Table hingeklickt wird, der erste Input getriggered wird.
        Ich sehe nirgendwo ein submit innerhalb der einzelnen Form-Elemente - sehe aber auch keinen Javascript Code - Glaskugel??

        Kommentar


        • #5
          Davimalu Für JS-Probleme ist PHP-Code irrelevant. Bitte zeig den fertig geparsten HTML-Quelltext inkl. aller (relevanten) JavaScripte.
          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


          • #6
            Zitat von kaminbausatz Beitrag anzeigen

            Ich sehe nirgendwo ein submit innerhalb der einzelnen Form-Elemente - sehe aber auch keinen Javascript Code - Glaskugel??
            Das braucht auch nicht, da hier das Element Input mit dem Type="image' als Ersatz für den submit Button dient. Musste ich aber auch erst nachlesen, da noch nie von mir verwendet.

            Der Fehler liegt wahrscheinlich in der Verwendung des gleichen Name-Attributs für beide Input-Elemente, das eine Unterscheidung unmöglich macht.

            Kommentar


            • #7
              protestix - habe ich auch noch nie verwendet, Asche auf mein Haupt,,,

              Kommentar

              Lädt...
              X