Jérôme: Klick auf Tabellenzeile -> Checkbox aktivieren

Hallihallo,

ich möchte umsetzen, dass man auf eine Tabellenzeile (<tr>) klicken kann und dass dann die Checkbox in der ersten Spalte dieser Zeile aktviert bzw. deaktiviert wird.

Obwohl der Code für mich plausibel erscheint, funktioniert er bei mir nicht.

Vielleicht kann mir ja hier jemand helfen.

Vielen Dank im Voraus!

  • Jérôme

Hier ist mein Code:

###################

<script language="JavaScript1.2">
<!--

function mouseDown (frm, field)
{
 if (document.forms[frm].elements[field].checked = 1)
 {
  document.forms[frm].elements[field].checked = 1;
 }
 else
 {
  document.forms[frm].elements[field].checked = 0;
 }
}

-->
</script>

###################

Im Formular rufe ich die Funktion folgendermaßen auf:

###################

<tr class="tr1" onmousedown="mouseDown('test', 'checkbox1')">
  <td>
    <form name="test">
      <input name="checkbox1" type="checkbox" />
    </form>
  </td>
  <td>Teo Tester</td>
  <td>KB</td>
</tr>

###################

  1. Servus,

    ich glaube Fehler liegt daran, das Du im
    document.forms[frm] eine  String beim aufruf übrgibts.
    Meines Wissens muss dort doch ein Index sprich Zahl rein oder liege Ich da flasch.?

    Ausserdem war mir bis Dato nicht bekannt, dass man bestimmte Events auch bei Tabellen bekome kann. Ich meine damit, das mir nue ist, das man einen onmouseover Event beim hinüber ziehen der Maus über eine Spalte auslöst und diese auch abfragen kann.

    Gruss Matze

    1. Hallo Matze,

      vielleicht kennst du ja phpMyAdmin, dort kannst du dir das mal anschauen, wie das aussieht (dort werden die kompletten Zeilen anders eingefärbt, wenn man über sie hovert/auf sie klickt. Es geht tatsächlich.

      Was den Index angeht - das habe ich mir auch gedacht, leider konnte ich damit auch keine Verbesserung erzielen.

      Das Problem ist irgendwie, dass nicht richtig übergeben wird, welchen Wert die Checkbox jetzt hat.

      Interessanterweise funktioniert der folgende Code - zumindest beim ersten Click in die Tabellenzeile.

      if (document.forms[frm].elements[field].checked = 1)
      {
       document.forms[frm].elements[field].checked = 1;
      }

      *seufz*

      • Jérôme
      1. Servus,

        und wenn Du statt = == bei der Zuweisung verwendest???

        Gruss Matze