Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
form.name Problem! [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr

- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
form.name Problem!


 
trekkie2003
05-08-2002, 13:13 
 
Hallo Leutz!
Hab ne Frage...
Hier mal mein Code:
function colorback_focus()
{
var nameinput=window.document.mailer.elementName;
alert(nameinput);

window.document.mailer.nameinput.style.backgroundColor="#96b9ee";
}


Ich will, dass sich sobald man auf ein Eingabefeld klickt, soll sich die Hintergrundfarbe ändern....

Ich habe ein Formularfeld mit dem Namen"mailer" und verschiedene Eingabefelder mit verschiedenen Namen. Die jeweiligen Input Namen will ich mit mail.elementName(siehe Code) erfragen....
Ich kann ja nur den Hintergrund ändern, wenn ich auch den input name weiß....


Ich habe zum Test mal den Namen erfragt und in alert ausgeben aber schon das funzt nicht!

function nameausgeben()
{
var nameinput=window.document.mailer.elementName;
alert(nameinput);
}

JS gibt nach dieser Anweisung immer "undefined" aus... obwohl das Eingabefeld natürlich einen Namen hat!

Biiiitttttteeeee helft mir

thx und cya
trekkie2003

 
MoRtAlAn
05-08-2002, 13:26 
 
du mußt das Formular an sich noch benennen!

gruss

 
wahsaga
05-08-2002, 16:12 
 
eine eigenschaft "elementName" hat das form-element doch überhaupt nicht, wo hast du denn das her?


rufe die funktion doch einfach mit einem parameter auf...


function colorback_focus(dieses)
{
dieses.style.backgroundColor="#96b9ee";
return true; (<-- kann evtl. auch weg bleiben)
}


und in die formularfelder machst du dann den folgenden eventhandler rein:

onclick="colorback_focus(this);"

 
MoRtAlAn
05-08-2002, 16:16 
 
http://selfhtml.teamone.de/html/referenz/attribute.htm#form

name #CDATA Erlaubt in den Varianten strict, transitional, frameset nein bestimmt einen Namen für das Formular

 
wahsaga
05-08-2002, 16:20 
 
da hast du mich missverstanden...


natürlich kann man dem formular einen namen geben, das ist logisch.


aber er wollte ja versuchen, über eine eigenschaft elementName herauszufinden, welches feld innerhalb des formulars gerade angeklickt wurde, um dann genau dessen farbe zu ändern.

und diese eigenschaft elementName gibt es meines wissens nicht.

 
MoRtAlAn
05-08-2002, 16:27 
 
ok, eingesehen :D

vielleicht sollte er mal in Selfhtml nach onclick oder onBlur() schauen...

gruss

 
trekkie2003
05-08-2002, 16:40 
 
Hallo!
Also..
ich habe nochmal in meinem JS-Buch nachgeschaut und es war nur ein fiktiver name(der Ausdruck elementName) um dem Leser zu zeigen, wie die Syntax beim verwenden von dem style-Attribut ist.....

cya
und thx @ wahsaga und Morti...

 
trekkie2003
05-08-2002, 16:55 
 
Hallo wahsaga...du JS-Profffffffffiiiiiiiii!
*lol*


Ich habs jetzt so gemacht, wie du es gesagt hast!
Und es funzt wunderbar! thx thx thx thx!

Warum funktioniert das aber nicht so(hatte es so vorher schon ausprobiert):

function colorback_focus()
{
this.style.backgroundColor="#121212";
}

Warum muss ich
"this" direkt über den Link an JS liefern...
D.H.
onfocus="colorback_focus(this);"
und später eine andere Funktion onblur="colorback_blur(this);"
Die wieder die alte Farbe herstellt...

thx und cya

 
wahsaga
06-08-2002, 13:12 
 
Original geschrieben von trekkie2003
Warum muss ich
"this" direkt über den Link an JS liefern...
this ist in javascript eine art variable für das aktuelle element.
d.h. das element, in welchem das onclick ausgelöst wird, steht dann in dieser variable this, und kann somit an die funktion übergeben werden.

wenn du this nicht übergibst, sondern direkt in die funktion this reinschreibst, dann ist dieser bezug zum 'aufrufenden' element aber nicht korrekt hergestellt, deshalb funzt es nur wenn du this als parameter übergibst...

 
trekkie2003
06-08-2002, 13:26 
 
So jetzt ist mir das klar....
Danke wahsaga...
Mein Script funzt wunderbar....

thx und cya
trekkie2003

- -

Alle Zeitangaben in WEZ +2. Es ist jetzt 21:53 Uhr.