Newsgroup: it.comp.lang.javascript
Titolo: checkbox creati dinamicamente con js

ciao a tutti,
creo dei checkbox
var ckb = document.createElement ( 'input' ) ;
ckb.setAttribute ( 'type', 'checkbox' ) ;
poi in base ad un controllo li spunto:
if (condizione)
ckb.checked = true ;
con Firefox tutto ok, con explorer una m###a: infatti i checkbox non
vengono assolutamente checcati...
come é possibile???
non so dove sbattere la testa perché la console javascript di firefox non
ritorna nessun errore, e in explorer non ho nessun tool che mi permetta di
controllare il codice.. inoltre essendo elementi creati dinamicamente, nel
codice prodotto dalla pagina non c'é traccia dei check...
avete già avuto un problema simile???
grazie milllle
yoda
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 come é possibile???
Mai capitato, ma non ho mai usato createElement perché con IE non funziona
molto bene, se cerchi in rete troverai parecchi messaggi in questo
newsgroup, uno a caso:
http://groups.google.it/group/it.comp.lang.javascript/browse_frm/thread/cc218e941c1ddfc5/1d2e855a8ce283e0?lnk=st&q=input+createelement+group%3Ait.comp.lang.javascript&rnum=7&hl=it#1d2e855a8ce283e0
-- 
"Non sai che ci vuol scienza
 ci vuol costanza
 ad invecchiare senza maturità"
									    F.G.

 molto bene
Il problema non é tanto il createElement perché i checkbox vengono creati
correttamente, bensì l'istruzione
ckb.checked = true ;
che ho anche provato a cambiare in 
ckb.setAttribute ( 'checked', true ) ;
ma non cambia nulla...


 ma non cambia nulla...
Sì, ma dato che ha problemi (in generale) posso dedurre che non
funziona...provato con "checked" anziché true?


 funziona...provato con "checked" anziché true?
appena provato ma non cambia nulla... stavo pensando a 
innerhtml="<input type='checkbox'....
che ne pensi?


 innerhtml="<input type='checkbox'....
Hai visto il link che ti ho postato? a quel punto usa il createElement
completo...
-- 
"That until there is no longer first class
And second class citizens of any nation
Until the colour of a man's skin
Is of no more significance than the colour of his eyes
Me say war"
B.M.

 come é possibile???
Per explorer ckb è un oggetto sprovvisto della proprietà checked, per
farlo devi applicare un id (con setAttribute) e poi applicare checked, per
esempio:
<script>
window.onload=function() {
	var nuovaCheckbox=document.createElement("input");
	nuovaCheckbox.setAttribute("type","checkbox");
	nuovaCheckbox.setAttribute("id","aCaso");
	document.getElementById("modulo").appendChild(nuovaCheckbox);
 
	document.getElementById("aCaso").checked=true; // qui applico checked 
}
</script>
<form id="modulo">
</form>
-- 
Luke S.


 codice prodotto dalla pagina non c'é traccia dei check...
alert(document.documentElement.innerHTML);
-- 
"When you have eliminated the impossible, whatever remains,
however improbable, must be the truth."

 funziona...
Non ha "problemi in generale", ha un problema ben specifico e correttamente
documentato. :)


 documentato. :)
Prima che mi perda nei meandri di Google Groups, potresti fornirmi una
qualunque sorta di informazione (link a reference oppure una spiegazione
del problema - qualcosa insomma ;o)
-- 
Luke S.


 del problema - qualcosa insomma ;o)
Solo per stavolta:
http://groups.google.it/group/it.comp.lang.javascript/msg/aebcfbb8ba8999bb
-- 
~ "Viviamo dei vuoti lasciati da qualcun'altro."

 
http://groups.google.it/group/it.comp.lang.javascript/msg/aebcfbb8ba8999bb
Grazie mille!
Comunque l'ho risolta molto brutalmente: sniffing del browser e differenti
codici per le parti interessate.
Grazie a tutti!!!!






Io l'ho letto ed ho fatto cosi'.
Creo al volo un input, gli attribuisco type=button,
onclick=javascript:fai qualcosa...
uno sguardo con innerHTML ed e' tutto ok. Ma il click non sorte alcun
effetto.
Con Mozz si.
--
ciao, mg

 effetto.
Prova questo codice:
<script type="text/javascript">
	var btn = document.createElement("input");
	btn.type="button";
	btn.value="say 'Hello, World'";
	btn.onclick=function(){
		alert("Hello, World");
	}
 
	document.body.appendChild(btn);
	btn = null;
</script>
Funziona su tutti i browser aderenti agli standard.
-- 
~ Il lavoro è quel lasso di tempo che intercorre tra una pausa caffè
 e l'altra.

Funziona su tutti i browser aderenti agli standard.
Un bacio!
--
ciao, mg

 Un bacio!
Ehm, va benissimo una stretta di mano. :)
-- 
~ La realtà è un'illusione causata dall'assenza di alcool.