heinetz: JQuery ... der erste Versuch

Beitrag lesen

hallo ekki,

Was genau soll eigentlich der Doppelpunkt vor dem "input"?

der meint nicht nur input sondern auch textarea usw. wie hier
beschrieben.

Ich bin allerdings gerade über meinen (glaube ich) nächsten
grundsätzlichen Denkfehler gefallen. So sah mein funktionierender
Code mal aus:

formObj = document.forms['adminForm'];  
for (var i=0; i<formObj.elements.length; i++)  
   {  
    if(formObj.elements[i].type!="hidden") eA[formObj.elements[i].name] = formObj.elements[i];  
    formObj.elements[i].onfocus = function (){lA[this.name].className = "";}  
   }  
eA['site_id'] = formObj.elements['site_id'];

Damit hatte ich zum Einen einen Event für alle elements in
meinem Form definiert und, was für meine Logik wesentlicher
war, alle elements, die nicht vom type="hidden" waren in
mein Array eA geschrieben. Und zusätzlich das element mit
dem namen 'site_id', was eben doch vom type="hidden" war.

Mit JQuery habe ich das ganze so versucht:

$(':input').focus(function(){lA[this.name].className = "";});  
$(":input:not(input[type='hidden'])").each(function(){eA[this.name]=this;});  
eA['site_id'] = $("input[name='site_id']");

... und mit der letzten Zeile konnte nicht das gewünschte
bewirken. Ich glaube, ich habe verstanden warum:

Ich schreibe nicht das DOM-Objekt in mein Array, sondern
das JQuery-Objekt!

Die Lösung liegt sicher darin, den Selektor noch weiter
zu verfeinern:

1. Alle :input
2. ausser type=hidden
3. wenn nicht name=site_id

Was dann noch fehlt ist die Verfeinerung:

1. Alle :input im form name="adminForm"

beste gruesse,
heinetz