Drei von vier Formularfeldern deaktivieren
Jesaja
- javascript
0 Tom0 Jean-Max0 Der Martin
0 Tom0 Der Martin
0 Tom
0 Jesaja
2 ChrisB
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?
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
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.
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
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
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
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
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 isDieser 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.
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