| (Web-) Design und webbasierte Sprachen Tipps & Tricks, Designabgleich, HTML & Javascript, Flash, ASP, PHP, Perl/CGI... |
Diskussion: Problem mit Funktion und Variable im Forum (Web-) Design und webbasierte Sprachen, in der Kategorie Web, Network & Multimedia Palace; Anzeige Folgendes Problem: Ich arbeite an einem Kontaktformular, bei dem die Vorbelegung der beim Anklicken verschwindet und beim Verlassen (sofern ...
![]() |
| | #1 (permalink) |
| Registriert seit: 24.05.05 ![]() Likes: 0 | Problem mit Funktion und Variable Anzeige Folgendes Problem: Ich arbeite an einem Kontaktformular, bei dem die Vorbelegung der beim Anklicken verschwindet und beim Verlassen (sofern das jeweilige Feld nicht ausgefüllt wurde) wieder auftaucht. Bisher habe ich das so gelöst: Code: <form name="kontakt" method="post" action="senden.php"> <input type="text" value="Vorname" onFocus="vornameAktiv()" onBlur="vornameLeave()"> </form> Code: <script type="text/javascript">
var vorname = "0";
function vornameAktiv() {
if (vorname == '0') {
document.kontakt.vorname.value = "";
}
vorname = "1";
document.kontakt.vorname.style.color="#000000";
document.kontakt.vorname.style.fontStyle="normal";
}
function vornameLeave() {
if (document.kontakt.vorname.value == '') {
document.kontakt.vorname.style.color="#808080";
document.kontakt.vorname.style.fontStyle="italic";
document.kontakt.vorname.value="Vorname";
vorname = "0";
}
}
</script> Code: <form name="kontakt" method="post" action="senden.php"> <input type="text" value="Vorname" onFocus="aktiv(vorname,'vorname')" onBlur="vorname=leave(vorname,'vorname','Vorname')"> </form> Code: <script type="text/javascript">
var vorname = "0";
function aktiv(feldVar,feldName) {
if (feldVar == '0') {
document.kontakt.feldName.value = "";
document.kontakt.feldName.style.color="#000000";
document.kontakt.feldName.style.fontStyle="normal";
}
}
function leave(feldVar,feldName,feldWert) {
if (document.kontakt.feldName.value == '') {
document.kontakt.feldName.style.color="#808080";
document.kontakt.feldName.style.fontStyle="italic";
document.kontakt.feldName.value=feldWert;
feldVar = "0";
} else {
feldVar = "1";
}
return feldVar;
}
</script> Aber irgendwie funktioniert das nicht. Kann mir jemand meine Fehler zeigen? |
| | |
| | #2 (permalink) |
| Senior Member Registriert seit: 03.09.05 ![]() Likes: 0 | Versuch es mal so: Ändere das hier: Code: document.kontakt.feldName.style.color="#808080"; Code: document.kontakt.GetElementsByName(feldName).style.color="#808080"; Ich weiß auch nicht, ob dein Vorhaben mit 'feldVar' so funktioniert.(bin mir nicht sicher) Ansonsten mach mal die Javascript-Konsole auf(falls du FF hast) und poste hier mal die Fehler. |
| | |
| HaBOT | - Anzeige - |
| |
| | #3 (permalink) |
| Themenstarter Registriert seit: 24.05.05 ![]() Likes: 0 | mit GetElementsByName: Fehler: document.kontakt.GetElementsByName is not a function und so wie ich es vorher hatte: Fehler: document.kontakt.feldName has no properties |
| | |
| | #4 (permalink) |
| Senior Member Registriert seit: 03.09.05 ![]() Likes: 0 | Verdammt, Tippfehler: Statt GetElementsByName() muss es getElementsByName() heißen. also Code: document.getElementsByName(feldName).style.color="#808080"; |
| | |
| | #5 (permalink) |
| Moderator ![]() | Ich würde es lieber mit CSS-Klassen lösen, also eine Klasse .vorbelegung und eine Klasse .normal, die du dann abhängig vom Zustand zuweist. Könnte etwa so aussehen: Code: <input type="text"
value="Hier eintragen"
name="wasweissich"
onfocus="activate(this)"
onblur="leave(this,'Hier eintragen')" /> Code: function activate ( element )
{
element.value = '';
element.className = 'normal';
}
function leave ( element, vorbelegung )
{
if ( element.value == '' )
{
element.value = vorbelegung;
element.className = 'vorbelegung';
}
} |
| | |
| | #6 (permalink) |
| Themenstarter Registriert seit: 24.05.05 ![]() Likes: 0 | Vielen Dank ihr zwei. Habs ausprobiert und es funktioniert beides, die zweite Lösung gefällt mir allerdings auch besser (ist einfach kürzer und übersichtilicher). Ich werde mich jetzt mal dranmachen, das ganze Formular darauf umzustellen ... Gruß Jonas PS: Da fällt mir noch was ein: gibt es eine Möglichkeit per getElementsByTagName() auf alle Felder des Typs "text" zuzugreifen und gibt es eine Möglichkeit mit CSS nur die Radiobuttons zu formatieren? |
| | |
![]() |
| - Anzeige - | |
| |
| Themen-Optionen | |
| Ansicht | |
| |
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| C: Problem mit atomarer Funktion | mise | Code Kitchen | 1 | 15.09.09 17:36 |
| PgSQL: Tabellenname als Variable an Funktion uebergeben | keksinat0r | Code Kitchen | 0 | 07.04.09 11:15 |
| Problem in C++(srand Funktion) | Overflow.exe | Code Kitchen | 4 | 25.11.07 22:48 |
| Java - Problem mit if-then-else Funktion | freak100 | Code Kitchen | 4 | 20.09.07 19:42 |
| Problem mit der Standby Funktion | Dj_Sefil | Die Problemzone | 2 | 27.10.04 02:11 |