On 27 May 2008 09:31:52 GMT, abramo wrote:
Quote:
var field=document.getElementsByTagName('form')[0].elements
la variabile field sarebbe piu' propriamente una specie di array, tanto
e' vero che posso riferirmi ai vari campi del form nella maniera:
field['campo1'], field['campo2'], ecc.
E' cosi'? |
No, come ti ha giustamente fatto notare Cristiano. Aggiungo, inoltre,
che non devi farti trarre in inganno dall'uso delle quadre.
In JS per accedere a metodi e proprietà di un oggetto, puoi usare due
diverse notazioni: La "dot notation", e la "square bracket notation".
Per intenderci con un'esempio:
window.open("http://groups.google.it/");
Utilizza la "dot notation".
window["open"]("http://groups.google.it/");
Usa la "square bracket notation".
Questa notazione viene usata spesso con istanze di Object, per usarli
a mo' di array associativi:
var mylist = {}; // equivale a: var mylist = new Object();
mylist[0] = "a value";
mylist["myproperty"] = 123;
Ma si tratta di oggetti, tant'è che puoi fare benissimo:
alert( mylist.myproperty )
La "square bracket notation" è utilissima laddove si hanno dei valori
che non sono formalmente corretti per JS:
<input type="text" name="mytext[]" />
In tal caso non puoi fare:
document.forms[0].mytext[].value
Darebbe errore. Ma puoi fare:
document.forms[0]["mytext[]"].value
Oppure passare da elements, sempre tramite la solita notazione:
document.forms[0].elements["mytext[]"].value
--
~ "Il semble que la perfection soit atteinte non quand il n'ya plus
rien à ajouter, mais quand il n'ya plus rien à retrancher"
(A. de Saint-Exupéry)