[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