Eingabefeld sperren

droni

Erfahrenes Mitglied
Hallo,

ich komme gerade nicht weiter :(

Ich habe ein Formular namens "form".
Darin sind unter anderem 2 input - text felder.
Ziel ist es, wenn ich in Textfeld a etwas eintrage soll textfeld b gesperrt werden.

Code:
<script type="text/javascript">
 function disable()
{
     if (document.form.feld1.value )
         document.form.feld2.disabled = "disabled";
     else
         document.form.feld2.disabled = "";
 }
</script>

Aufgerufen wird das Ganze mit:

HTML:
<input name="feld1" type="text" id="feld1" onChange="javascript:disable()" />
<input name="feld2" type="text" id="feld2" />


Soweit funktioniert das auch. Nun stehe ich aber vor dem Problem, dass die Geschichte doch öfters in dem
Formular vorkommen wird. Also dachte ich mir, gib Parameter mit und die function muss nicht für jedes zu sperrende
Feld neu eingefügt werden.

Also habe ich die function angepasst:
Code:
<script type="text/javascript">
 function disable(ausloeser, sperren)
{
     if (document.form.ausloeser.value )
         document.form.sperren.disabled = "disabled";
     else
         document.form.sperren.disabled = "";
 }
</script>

und rufe das mit:

HTML:
<input name="feld1" type="text" id="feld1" onChange="javascript:disable('feld1, 'feld2')" />
<input name="feld2" type="text" id="feld2" />

auf. Nur leider funktioniert das so nicht.
Kann mir da jemand weiter helfen?

Vielen Dank!

MfG
droni
 
In diesem Beispiel habe ich die "Steuerung" quasi umgedreht.

So bald der Fokus auf das zweite bzw. das vierte Textfeld gesetzt wird, wird geprüft ob Textfeld 1 oder 3 einen Inhalt haben.

In diesem Fall wird eine Fehlermeldung ausgegeben und der Fokus zurück aus das auslösende Textfeld gesetzt.

Die keyup-, keypress- und keydown-Ereignisse sind ein bisschen eigen was das angeht. So aber klappt es.
 
Danke!

Ich habe dein Beispiel zwar nicht übernommen (wobei die Variante auch OK ist), aber dadurch meinen Fehler gefunden!

So sieht es nun aus:

Code:
<script type="text/javascript">
function disable(ausloeser, sperren)
{
     if (document.getElementById(ausloeser).value)
         document.getElementById(sperren).disabled = "disabled";
     else
         document.getElementById(sperren).disabled = "";
 }
</script>


Aufgerufen mit:

HTML:
<input name="feld1" type="text" id="feld1" onChange="javascript:disable(this.id,'feld2')"/>
<input name="feld2" type="text" id="feld2" onChange="javascript:disable(this.id,'feld1')"/>

So sperren sie sich gegenseitig.

VIELEN DANK!

MfG
droni
 

Neue Beiträge

Zurück