• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

[FRAGE] Warum funktioniert die Routine nicht

joergi

New member
Hi,

ich habe eine kleine Routine geschrieben, die Input und Textarea Felder auf Vorhandensein der Zeichenfolge "???" überprüfen soll. Wenn es diese findet, soll der Rahmen des Formulares rot gefärbt werden. Leider funktioniert die Routine nicht. Wißt Ihr warum? (Bin Anfänger)

Danke im Voraus für Eure Hilfe :icon6:

Code:
<!DOCTYPE html>
<style>
input, textarea
{
resize: none;
color:#000000;
border: 1px solid #C0C0C0;
font-size:10pt;
margin:0px;
height: 22px;
min-height:22px;
}
</style>
<script>
function start()
{
var fname="beispiel";
var name = ["Feld1","Feld2","Feld3"];
var i=0;
var anzahl=name.length;
while (i<anzahl)
{
var a1 = document.fname.name[i].value;
var a2 = a1.indexOf ("???");
if (a2>=0)
{
document.fname.name[i].style.border = "solid #ff0000 1px";
}
else
{
document.fname.name[i].style.border = "solid #c0c0c0 1px";
}
i++;
}
}
</script>
<html>
<form name="beispiel">
<input tabindex="1" type="text" name="Feld1" onkeyup="start()">
<br>
<br>
<textarea tabindex="2" type="text" name="Feld2" cols="65" onkeyup="start()"></textarea>
<br>
<br>
<input tabindex="3" name="Feld3" onkeyup="start()">
<br><br>
</form>
</html>

- - - Aktualisiert - - -

Jau, habe die Antwort soeben gefunden. Die richtige Routine muss wie folgt lauten:

Code:
<script>
function start()
{
var name = ["Feld1","Feld2","Feld3"];
var i=0;
var anzahl=name.length;
while (i<anzahl)
{
var a1 = document.getElementsByName(name[i])[0].value;
var a2 = a1.indexOf ("???");
if (a2>=0)
{
document.getElementsByName(name[i])[0].style.border = "solid #ff0000 1px";
}
else
{
document.getElementsByName(name[i])[0].style.border = "solid #c0c0c0 1px";
}
i++;
}
}
</script>
 
Finde das viel zu kompliziert wie du das da machst, bzw. es geht auch schöner
Versuche es mal so
**Link entfernt, weil Seite nicht mehr erreichbar **
 
Zuletzt bearbeitet:
Zurück
Oben