Stefan: Radiobuttons deselectieren

Hallo zusammen,

ich will bei einer Datenabnkanwendung dem user beim Erstellen einer Tabelle Hilfestellung bieten was die Query betrifft. So muss er z.B nur den Tabellenname und die Spaltennamen angebn und dahinter verschieden Checkboxen aktivieren um der Spalte die gewünschten Attribute (not null...) mitzugeben. Es gibt attribute die nur einmal aufterten dürfen aber nicht müssen (primary key, auto increment). Dies ist ja der typische Anwendungsfall für Radiobuttons.
Enschließt sich der user nun eine Spalte mit "auto increment" zu versehen, will das aber in der nächsten sekund schon nicht mehr haben, braucht er die Möglichkeit diese Radiobuttons zu deselctieren.
Leider bekomme ich das mit purem html nicht hin.
Gibts da einen Trick?
Hat jemand von euch einen ganz anderen Ansatz?
Ich will kein JavaScript!!!

Vielen Dank für eure Hilfe!

Stefan

  1. Hi,

    Es gibt attribute die nur einmal aufterten dürfen aber nicht müssen (primary key, auto increment). Dies ist ja der typische Anwendungsfall für Radiobuttons.

    Nein, das ist der typische Anwendungsfall für eine Checkbox.

    Für Radiobuttons wäre es typisch, daß man genau einen von mehreren Werten auswählt.

    cu,
    Andreas

    --
    Der Optimist: Das Glas  ist halbvoll.  - Der Pessimist: Das Glas ist halbleer. - Der Ingenieur: Das Glas ist doppelt so groß wie nötig.
    http://mud-guard.de/? http://www.andreas-waechter.de/ http://www.helpers.de/
    1. Hi, leider muss ich Dir wiedersprechen. Vieleicht hab ich mich nicht deutlich ausgedrückt.
      Also, zur jeder Tabellenspalte gibt es die gleich Menge an auswahlmöglichkeiten. Da aber nicht jede Spalte, sondern genau eine Spalte, primary key werden kann, darf es auch nur einmal angewählt werden. Es sollten definitiv Radiobuttons sein. Ich weiß ja nicht wer alles an das prog gesetzt wird.

      Cu,
      Stefan

      1. Hallo,

        Hi, leider muss ich Dir wiedersprechen.

        MudGuard hat schon recht: "An"/"Aus" ist ein typischer
        Fall fuer eine Checkbox. Bei Checkboxen geht das auch
        mit reinem HTML, ohne jegliches JavaScript.

        Also, zur jeder Tabellenspalte gibt es die gleich Menge an auswahlmöglichkeiten. Da aber nicht jede Spalte, sondern genau eine Spalte, primary key werden kann, darf es auch nur einmal angewählt werden. Es sollten definitiv Radiobuttons sein.

        Du hast auch recht - in diesem Fall sind Radiobuttons
        IMHO die richtige Loesung, weil ja nur (maximal) _eine_
        "Spalte" angekreuzt sein darf.
        Weil Du offenbar auch erlauben willst, dass _keine_
        Spalte der Primary Key ist, musst Du also auch einen
        solchen Radiobutton anbieten, der das gleiche Name-Attribut
        hat wie die uebrigen Radiobuttons.

        <input type="radio" name="pk" value="0">
        <input type="radio" name="pk" value="id">
        <input type="radio" name="pk" value="vorname">

        ( ) Kein Primary Key
        ( ) Spalte "id" als Primary Key
        ( ) Spalte "vorname" als Primary Key

        Wenn jetzt der Benutzer schon eine Spalte angekreuzt hat,
        kann er das wieder rueckgaengig machen, indem er
        "Kein Primary Key" ankreuzt.
        Einen Radiobutton durch Klick auf sich selbst wieder
        "abzuwaehlen" geht ohne JS sicher nicht, wahrscheinlich
        nicht einmal mit JS.

        Das, was Du willst (0 oder maximal 1 Option auswaehlbar,
        rueckgaengigmachen durch Klick auf die Option selbst),
        ist IMHO nur mit Checkboxes und JavaScript moeglich,
        oder aber mit einem Drop-Down-Menue (SELECT) mit der gleichen
        Auswahl wie oben vorgeschlagen.

        Uebrigens: Gewisse Versionen von Mozilla bzw. Netscape 6.x
        hatten die muehsame Angewohnheit, jeweils den _ersten_
        Radiobutton einer Serie anzukreuzen, sofern nichts
        anderes (per checked-Attribut) definiert war.
        Das war zwar in HTML 3.2 so, aber in HTML 4.01
        steht nichts mehr davon.
        AFAIK verhalten sich die aktuellen Versionen
        von Mozilla bzw. Netscape 7.x nicht mehr so, sondern
        wieder wie alle anderen Browser, d.h. wenn nichts
        "checked" ist, kreuzen sie auch nichts an.

        HTH, mfg
        Thomas