Problem bei onFocus in Formular
manu
- dhtml
Hallo!
Hab da ein kleines Problem entdeckt und hab keine Idee, wie ich es lösen kann:
Ich benutze in einem Formular onfocus='this.value="";', da ich einen Standardvalue benutze, der beim Reinklicken verschwindet. Wenn ich jetzt mit Tab zum nächsten Eingabefeld springe und dann wieder mit der Maus ins vorherige Eingabefeld klicke (z.B. um einen Fehler zu beseitigen), greift onFocus natürlich wieder, und die Eingabe ist futsch.
Hat jemand vielleicht einen guten Ansatzpunkt für mich?
Hi.
Hat jemand vielleicht einen guten Ansatzpunkt für mich?
Nein. Einen Ansatzpunkt habe ich nicht. Ich mache keine halben Sachen. Das hier ist zwar nicht mehr ganz SELF, aber hier ist das komplette Script, dass du dafür benötigst (vor 5 Minuten selbst entwickelt):
<script type="text/javascript">
function test() {
var wert = document.forms[0].elements[0].value;
if (wert.indexOf("Wort")<=-1){ //überprüft ob "Wort" im Eingabefeld 1 steht, wenn nicht passiert auch nichts
document.forms[0].elements[0].focus();
return false;
}
if (wert.indexOf("Wort")>-1){ //überprüft ob "Wort" im Eingabefeld 1 steht, wenn ja wird es leer gemacht
document.forms[0].elements[0].value = "";
document.forms[0].elements[0].focus();
return false;
}
}
</script>
[Dein Textfeld muss so aussehen:]
<input type="text" size="10" name="Eingabe" value="Wort" onFocus="test()">
Bemerkungen: "Wort" ist das, was von Anfang an in deinem Eingabefeld steht. Also, wenn da was anderes stehen soll musst du das dreimal umändern:
1. Im Eingabefeld
2. In der 1. if Abfrage
3. In der 2. if Abfrage
Ich hoffe ich konnte dir helfen (dessen bin ich mir sogar ziemlich sicher), H²O
PS: Bei eventuellen Fragen schreib einfach
wow, kewl, 1000 Dank - werd ich direkt mal ausprobieren!
Hab es ausprobiert und den Fehler "Das Steuerelement kann den Fokus nicht erhalten, da dieses unsichtbar oder nicht aktiviert ist oder keinen Fokus zuläßt"...
Ist ein Stinknormales Formular, hab es am obersten Formfeld ausprobiert.
Hab auch einmal die Fokus-Anweisungen(?) aus den Funktionen genommen (dachte das value="" würde es schon tun), aber leider Fehlanzeige
Habe die Lösung gefunden (hätte nicht gedacht, dass das so einfach ist). Ein Standardvalue wird nun bei Klick in das Formular gelöscht, ein schon eingegebener Wert bleibt bestehen:
function emptyformular() {
if (document.forms[0].Bla.value == "Standardvalue") {
document.forms[0].Bla.value = "";
} else {
return;
}
}
Das Formular dazu:
<form action="index.php" method="post">
<input type="text" value="Standardvalue" name="Bla" onfocus='emptyform();'>
</form>
Danke dennoch für die Hilfe!
Hallo.
Also, bei mir lief alles ohne Probleme.
Sorry, ich dachte es würde auch bei dir funktionieren.
H²O