Jesaja: Drei von vier Formularfeldern deaktivieren

Hallo,

ich habe vier Formularfelder, von denen jeweils nur eins ausgefüllt werden soll. D. h. das bei der Eingabe, egal in welches Feld, die anderen Felder deaktiviert werden sollen, damit dort keine weitere Eingabe gemacht werden kann.

Hat jemand eine Idee, wie man das realisieren kann?

  1. Hello,

    Hallo,

    ich habe vier Formularfelder, von denen jeweils nur eins ausgefüllt werden soll. D. h. das bei der Eingabe, egal in welches Feld, die anderen Felder deaktiviert werden sollen, damit dort keine weitere Eingabe gemacht werden kann.

    Hat jemand eine Idee, wie man das realisieren kann?

    schreib Dir eine Funktion, die bei onChange() der einzelnen Felder aufgerufen wird.
    Die Funktion führt die Prüfungen aus:

    wenn nicht(feld1.stringlänge oder feld2.stringlänge oder feld3.stringlänge) feld4.disable
       wenn nicht(feld2.stringlänge oder feld3.stringlänge oder feld4.stringlänge) feld1.disable
       wenn nicht(feld3.stringlänge oder feld4.stringlänge oder feld1.stringlänge) feld2.disable
       wenn nicht(feld4.stringlänge oder feld1.stringlänge oder feld2.stringlänge) feld3.disable

    In JavaScript musst Du das mal selber umsetzen. Du wolltest ja nur die Idee :-))

    Liebe Grüße aus dem schönen Oberharz

    Tom vom Berg

    --
     ☻_
    /▌
    / \ Nur selber lernen macht schlau
    http://bergpost.annerschbarrich.de
  2. Bounjoun Jesaja,

    ich habe vier Formularfelder, von denen jeweils nur eins ausgefüllt werden soll. D. h. das bei der Eingabe, egal in welches Feld, die anderen Felder deaktiviert werden sollen, damit dort keine weitere Eingabe gemacht werden kann.
    Hat jemand eine Idee, wie man das realisieren kann?

    TIMTOWTDI, das Perl-Motto, gilt manchmal auch für JavaScript.

    Die in Frage kommenden Felder in einer Schleife durchgehen, und entweder sofort bei Eingabe (onkeyup) oder danach (value != '') die anderen Felder als readonly (gut) oder disabled (nicht so gut) setzen.

    Adiou.

    --
    Ich bin eigentlich ganz anders, aber ich komme so selten dazu. - Ödön von Horwáth
  3. Hi,

    ich habe vier Formularfelder, von denen jeweils nur eins ausgefüllt werden soll. D. h. das bei der Eingabe, egal in welches Feld, die anderen Felder deaktiviert werden sollen, damit dort keine weitere Eingabe gemacht werden kann.

    was ist, wenn ich vor lauter Tatendrang meine Eingabe schon ins erste Feld geschrieben habe, und dann feststelle, dass sie ins dritte Feld gehört hätte? Das ist nun dummerweise gesperrt ...
    Du brauchst also als Korrekturmöglichkeit auch noch einen Mechanismus, der alle Felder wieder entsperrt, z.B. wenn das einzige freigegebene Feld wieder leer ist.

    Ciao,
     Martin

    --
    Ich verdanke meinen Eltern so viel - besonders meiner Mutter und meinem Vater.
      (Dakota Fanning, US-Jungschauspielerin)
    Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(
    1. Hello,

      was ist, wenn ich vor lauter Tatendrang meine Eingabe schon ins erste Feld geschrieben habe, und dann feststelle, dass sie ins dritte Feld gehört hätte? Das ist nun dummerweise gesperrt ...
      Du brauchst also als Korrekturmöglichkeit auch noch einen Mechanismus, der alle Felder wieder entsperrt, z.B. wenn das einzige freigegebene Feld wieder leer ist.

      Dieser Mechanismus heißt <input type="reset" value="nochmal von vorne">

      Oder irre ich mich da?

      Liebe Grüße aus dem schönen Oberharz

      Tom vom Berg

      --
       ☻_
      /▌
      / \ Nur selber lernen macht schlau
      http://bergpost.annerschbarrich.de
      1. Hi,

        Du brauchst also als Korrekturmöglichkeit auch noch einen Mechanismus, der alle Felder wieder entsperrt, z.B. wenn das einzige freigegebene Feld wieder leer ist.
        Dieser Mechanismus heißt <input type="reset" value="nochmal von vorne">
        Oder irre ich mich da?

        du irrst dich. An einen Reset-Button dachte ich nämlich auch erst - der setzt aber nur die *Werte* der Formularelemente zurück. Wenn aber Elemente auf readonly oder disabled gesetzt wurden, bleiben sie auch bei einem Formular-Reset so.

        So long,
         Martin

        --
        Wenn ein Räuber eine deutsche Amtsstube überfällt, welchen Satz kann er sich dann sparen?
        "Keine Bewegung!"
        Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(
        1. Hello,

          Du brauchst also als Korrekturmöglichkeit auch noch einen Mechanismus, der alle Felder wieder entsperrt, z.B. wenn das einzige freigegebene Feld wieder leer ist.
          Dieser Mechanismus heißt <input type="reset" value="nochmal von vorne">
          Oder irre ich mich da?

          du irrst dich. An einen Reset-Button dachte ich nämlich auch erst - der setzt aber nur die *Werte* der Formularelemente zurück. Wenn aber Elemente auf readonly oder disabled gesetzt wurden, bleiben sie auch bei einem Formular-Reset so.

          Und was ist, wenn der Reset-Button ein onClick() bekommt, das auch die Funktion aufruft?

          Aber Jesaja kann Reset ja sowieso nicht gebrauchen... Ist jetzt also nur noch wissenschaftlicher Natur. :-)

          Liebe Grüße aus dem schönen Oberharz

          Tom vom Berg

          --
           ☻_
          /▌
          / \ Nur selber lernen macht schlau
          http://bergpost.annerschbarrich.de
      2. Hello,

        was ist, wenn ich vor lauter Tatendrang meine Eingabe schon ins erste Feld geschrieben habe, und dann feststelle, dass sie ins dritte Feld gehört hätte? Das ist nun dummerweise gesperrt ...
        Du brauchst also als Korrekturmöglichkeit auch noch einen Mechanismus, der alle Felder wieder entsperrt, z.B. wenn das einzige freigegebene Feld wieder leer is

        Dieser Mechanismus heißt <input type="reset" value="nochmal von vorne">

        Oder irre ich mich da?

        Liebe Grüße aus dem schönen Oberharz

        Tom vom Berg

        »»
        Danke erstmal für die Antworten.
        Type="reset" ist nicht sinnvoll, da das Formular schon ein paar mehr Felder hat und der Kunde bei der Eingabe in der Regel eh nicht gut drauf ist. Es geht um Gewährleistung.

        Ich habe mich entschlossen, das ganze mit php zu lösen. Wurden mehr als ein Feld ausgefüllt, bekommt der Kunde eine entsprechende Meldung und kann korrigieren.

  4. Hi,

    ich habe vier Formularfelder, von denen jeweils nur eins ausgefüllt werden soll. D. h. das bei der Eingabe, egal in welches Feld, die anderen Felder deaktiviert werden sollen, damit dort keine weitere Eingabe gemacht werden kann.

    Warum machst du dann nicht genau ein Eingabefeld?

    Wenn es zusätzlich eine Zuordnung dieser Eingabe zu vier unterschiedlichen Bereichen geben soll - dann könntest du für diese Zuordnung Radiobuttons benutzen.

    MfG ChrisB

    --
    RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?