[newbie] rails&prototype aggiungere classe ad alcuni elementi div

Ciao a tutti
Domanda da vero newbie, ma ci sto sbattendo la testa da un pò
nel programmino che sto facendo ho un partial che racchiude una serie di
form per l’inerimento di dati (cosa molto semplice costruita con uno
scaffold) in cui ho 2 necessità
Selezionando un radio_button:
nascondere alcuni form
E di quelli rimasti visibili evidenziarne alcuni in rosso (che poi sono
campi necessari)

la prima parte mi è riuscita senza problemi ogni form è racchiuso in un
div con una id diversa per cisascuno

<%= f.radio_button :tipo_record, ‘B’, options = {:onclick =>
“[‘form1’,‘form2’].each(Element.show);
[‘form3’,‘form4’].each(Element.hide);”}

e così via per tutti i radio_button

Quello che non riesco a fare è di evidenziarli
ho pensato di usare la funziona di prototype addClassName e specificare
nel css la classe ‘required’
e la cosa funziona se gli passo un singolo id in questo modo:

$(‘form1’)addClassName(‘required’) ;

mentre se provo a passargli l’array come ho fatto sopra non c’è verso
che funzioni

[‘form1’, ‘form2’].each(addClassName(‘required’))

la console di chrome mi restituisce

Uncaught TypeError: Object # has no method ‘call’

spulciando un pò di documentazione ho pensato che non digerisse bene
l’array, allora ho modificato la sintassi in questo modo

[‘form1’, ‘form2’].each(function(item)
{item.addClassName(‘required’);})

ma ricevo un errore differente
Uncaught TypeError: Object form1 has no method ‘addClassName’

ho provato anche a ciclare esplicitamente attraverso un for ma ottendo
lo stesso errore…
dove sbaglio?

come mai riesco a modificare la classe di un singolo div ma non riesco a
passare una sequenza di id alla funzione addClassName?

$$(’#form1, #form2’).invoke(‘addClassName’, ‘required’)

$$ dati i selettori CSS restituisce una lista di nodi DOM
invoke chiama un metodo su tutti gli elementi della lista

Antonio B.
Multicore Sistemi

Funziona :slight_smile: grazie, anche se non capisco bene come mai Element.show
funziona con l’array e addClassName invece no, beh vorrà dire che mi
documenterò un pò… a proposito guide consigliate sull’argomento?

Grazie Ancora

Luca