[Web2.0] [JS] Prendere il valore di un input radio
Angelo Galleja
angelo.galleja a email.it
Lun 29 Gen 2007 17:08:43 CET
Domenico L. ha scritto:
> Angelo Galleja ha scritto:
>>> in FF ci sarebbe anche la più semplice textContent
>>>
>>> Quando ad usare la nextsiblign o la prevsiblign è cmq possibile.
>>>
>>> solo che con il mio metodo non ti serve usare la
>>> getElementeByTagName, perché una volta avuto il focus su un input è
>>> immediato averlo anche di label e quindi del suo valore.
>> una volta definito l'oggetto è possibile accedere al testo nel caso
>> specifico con childnode[1] (il secondo)
>>
>> sarò io ma di quanto sopra non ho capito niente ... se hai voglia di
>> rispiegarlo senza lasciarti prendere dalla *foga* di "ti faccio vedere
>> io"
> sostengo che poiché cambiamotivo è un evento sull'input, puoi passare
> come argomento anche this, che è l'oggetto in questione.
>
> a questo punto hai diverse scelte che vengono da come scrive l'html.
> usando nextsiblign ottieni l'oggetto successivo a this, che nel tuo caso
> sarebbe la label nel mio caso sarebbe del testo.
a patto di non avere textNode in mezzo
cioè <label></label><input /> è diverso da
<label></label>
<input />
> Però, per gusti, per comodità e per chiarezza, secondo me è meglio
> pensare l'input dentro la label e accedere al testo con textContent o
> innerText, anche perché questo metodo funziona anche se decidi di
> scrivere la label prima dell'input.
> Questo approccio non richiede l'uso di getElementByTagName, e secondo me
> è una soluzione pulita tanto quanto molte altre; spero che sia chiaro
> adesso.
sì è chiaro, però continuo a dire che utilizzando l'attributo for di label:
- non ti devi preoccupare se la label è a destra, a sinistra, sopra o sotto
- hai un riferimento univoco (usi un id) all'elemento "labelizzato"
- non devi impazzire se chi scrive il codice html dà un colpo di "invio" in
più (non ricordo chi tra FF ed IE (forse IE) ignora i nodeText "invio": cioè
con lo stesso codice html __node__.next/prevSibling restituisce due cose diverse in
IE e FF)
personalmente preferisco la soluzione con il for perchè vedo meno problematiche
Maggiori informazioni sulla lista
Web2.0