Ciao a tutti,
stavo lavorando ad un javascript con cui creo dinamicamente un calendarietto, nel quale sono inseriti due bottoni che permettono di scorrere avanti e indietro i mesi.
Tali bottoni vengono creati dinamicamente tramite una funzione alla quale passo nome, valore e verso di scorrimento (positivo o negativo).
Con mia grande sorpresa, ha funzionato praticamente al primo colpo anche l'onclick viene gestito correttamente e tutto quanto.
Unico, inspiegabile baco: con Firefox e Opera il value del bottone, pur settato, non viene visualizzato

la funzione è questa

function makebutton(nome, valore, verso) {
var onC = 'scorrimese('+verso+')';
with(bottone = d.createElement('button'))
{
setAttribute('name', nome);
setAttribute('value', valore);
setAttribute('class', 'Bottone'); // setta la classe in Mozilla
setAttribute('className', 'Bottone'); // setta la classe in IE
style.width = '15px';
style.height = '20px';
onclick = new Function(onC);
}
return bottone;
}


(accetto anche osservazioni sull'eleganza o meno della stessa)
Il value del bottone in questo contesto è semplicemente un simbolo di maggiore o minore che simula la freccia avanti o indietro, niente più di un'etichetta, ma non capisco perchè non funzioni.
Exploder funziona senza problemi, mentre Firefox scrive il bottone vuoto (ma se metto un alert e mi faccio scrivere il valore ce l'ha). Ciò avviene qualsiasi sia il valore che imposto, e con qualsiasi sintassi (prima del setAttribute avevo usato semplicemente bottone.value=valore; ma con il medesimo risultato.
Vero che non ne va del funzionamento dello script, ma ora è una questione di principio capire perchè lo fa
Cosa mi sfugge?
Grazie a tutti!