Newsgroup: it.comp.lang.javascript
Titolo: SETATTRIBUTE CON IE

  ciao a tutti dovrei mettere in questo codice l'uguaglianza di  onchange =
'javascript:calc(1)';
  ho provato cosi' ma non mi funziona o per lo meno funziona in Netscape e
non con IE
  Pieces.setAttribute('onchange','javascript:calc(1)');
  idee?
  grazie
    var Pieces  = document.createElement('input');
    Pieces.setAttribute("name", "Pieces" + Num );
    Pieces.setAttribute('type','text');
    Pieces.setAttribute('size','5');
    Pieces.setAttribute('onchange','javascript:calc(1)');
    Pieces.setAttribute("class","field");
    Pieces.setAttribute("class","field");//  set in NT
    Pieces.setAttribute("className", "field"); //  set in MSIE
    elem=tableRow.appendChild( document.createElement("td") );
    elem.appendChild( document.createTextNode("Pieces: "));
    elem.appendChild(Pieces);

     Pieces.setAttribute("className", "field"); //  set in MSIE
Prova scrivere:
alert(Pieces.outerHTML) 
E vedrai che gli attributi "type" e "name" quantomeno non te li ha
impostati.. il che potrebbe causare comportamenti anomali, tra le altre
cose.
Cmq per risolvere il tuo problema, non gestire l'event-handler come
attributo, ma dagli direttamente un riferimento a funzione:
Pieces.onchange=function(){calc(1)}
-- 
C'ya,
  ZER0 :: coder.gfxer.webDesigner();
"Questa e' una lezione difficile, ma importante: Cio' che e' stato, e cio'
che sara', non cambia cio' che e'.
Sta a te decidere poi come prendere questa cosa,se logorarsi per un passato
che non puoi cambiare, invece di prendere tutto il bene che il presente ti
offre." ()

 ha scritto nel messaggio
news:oukw9tzp...@ID-171124.news.individual.net...


   non riesco a laggerlo
Stai scrivendo male il codice di valutazione, stai tentando di vare un :
DIVobject.Length2.value (nel caso 'Num' sia 2).
Non capendo cos'e' che vuoi ottenere (ti ricordo che l'ID e' univico) non
posso aiutarti..
Posso solo immaginare che se tu hai diversi div chiamati PUTDIV0,PUTDIV1,
PUTDIV2, etc.. potresti fare qualcosa del genere per recuperarne il value:
function calc(Num){
	var obj=document.getElementById("PUTDIV"+Num);
	if (obj){
		return obj.value;
	else{
		alert("Attenzione, l'oggetto non esiste");
		return 0;
	}
}
-- 
C'ya,
  ZER0 :: coder.gfxer.webDesigner();
"When you have eliminated the impossible, whatever remains,
however improbable, must be the truth." (S.H.)

 ha scritto nel messaggio
news:12u2runwiyb9o$.dlg@ID-171124.news.individual.net...


   e non riesco a leggerlo?
Come ti  ho detto, non su IE.


 ha scritto nel messaggio
news:1ivxcar7wp22n$.dlg@ID-171124.news.individual.net...


      Length  = DIVobject.getAttribute('size',VariableL);
*SE* l'elemento che ha come ID "PUTDIV" *ha* l'attributo size, basta fare:
alert( DIVobject.getAttribute("size") );


 ha scritto nel 
  messaggio 
news:1ne98o75...@ID-171124.news.individual.net
...


   > *SE* l'elemento che ha come ID "PUTDIV" *ha* l'attributo size, basta fare:
etc.
Nel tuo caso, invece, cosi' non e'. Non e' l'elemento "PUTDIV" ad avere
l'attributo size, ma uno dei suoi sottoelementi.
Quindi devi prima trovare il modo di riferirti al campo "Pieces" (sempre da
li', dipende la struttura della tua pagina.. oppure se ha un ID), e dopo
puoi fare:
alert(elementoPieces.getAttribute("size"));


 ha scritto nel messaggio
news:15su3mhafh7gg$.dlg@ID-171124.news.individual.net...


   e mi dice non trovato :-( forse sbaglio a ad andare al nodo
Va beh, questo codice forse e' sbagliato, intendevi magari scrivere:
var elem=DIVobject.childNodes[2];
alert(elem.getAttribute("size"));
Questo, ripeto, dipende essenzialmente dalla struttura della tua pagina.
Puoi verificare di che tipo di elemento si tratta, cmq, facendo un:
alert(elem.tagName);
o per un codice piu' completo:
alert(elem.outerHTML) /* solo su IE */


On Thu, 29 Jan 2004 05:12:56 +0100, Andrea Gelsogroove wrote:
Un ultima volta: Per favore sistema la data.
