Newsgroup: it.comp.lang.javascript
Titolo: onChange vi js.. lo so' che non va.. ma..

Ma esiste una possibilità di otteenere una cosa simile magari in altro modo?
Spiego.
La cosa si ricollega ad un mio precedente post per la stampa di più pagine.
Ho rifatto la cosa modificando tutto .
Ora io apro la pagina (che darà il via alla stampa finale) che contiene un
iframe nascosto, un input text e che apre una pagina nuova che servirà da
contenitore per la stampa finale.
Al caricamento della pagina, metto la prima location nell'iframe.
La pagina che viene caricata nell'iframe ha nell'evento onLoad il richiamo
ad una funzione che copia il body della pagina stessa dentro la pagina di
stampa aperta prima. dopo la copia del body (dell'innerHTML per la
precisione) la funzione va ad incrementare il valore contenuto nella text.
A questo punto entra in gioco l'oggetto del thread.. ovvero l'onChange.
Speravo che funzionasse anche con la modifica del valore via js.. cosicchè
incrementando il valore della text venisse lanciata automaticamente la
funzione next() che carica la nuova pagina nell'iframe oppure stampa tutte
se siamo alla fine..
Vi incollo il codice sia della pagina principale che lo script contenuto in
ogni pagina... suggerimenti??
Tenete presente che il tutto è scritto con i piedi.. siamo ancora in alpha
version :-)
===========Codice della pagina principale============
<HTML>
<script type="text/javascript">
function setup(){
 PrintWindow=window.open('','Globale');
 window.focus();
 LastElement=14;
 Lista=new Array;
 Lista[0]='1.htm';
 Lista[1]='2.htm';
 Lista[2]='3.htm';
 Lista[3]='4.htm';
 Lista[4]='5.htm';
 Lista[5]='6.htm';
 Lista[6]='7.htm';
 Lista[7]='8.htm';
 Lista[8]='9.htm';
 Lista[9]='10.htm';
 Lista[10]='11.htm';
 Lista[11]='12.htm';
 Lista[12]='13.htm';
 Lista[13]='14.htm';
 Lista[14]='15.htm';
 window.document.getElementById('Conta').value='0';
window.Appoggio.location=Lista[parseInt(window.document.getElementById('Cont
a').value,10)];
}
function next()
{
 if
(paresInt(window.document.getElementById('Conta').value,10)<(LastElement+1))
  {
Appoggio.location=Lista[parseInt(window.document.getElementById('Conta').val
ue,10)];
  }
  else
  {
   PrintWindow.document.createStyleSheet('snd.css');
   PrintWindow.print();
   PrintWindow.close();
  }
}
</script>
<body onLoad="setup();" bgcolor="#00CCFF">
<Div align="center" style="font-family:Verdana,Arial;font-size:16px;">
    Attendere Prego... Preparazione della stampa in corso...
</div>
<iframe id="Appoggio" style="width:0;height:0;visibility:hidden">
</iframe>
<input type="text" id="Conta" value="" onChange="next()">
</body>
</HTML>
===============Fine Pagina Principale============
===============Inizio script presente su tutte le pagine==================
function add2Body()
{
 PrintWindow=window.open('','Globale');
 PrintWindow.document.body.innerHTML+=window.document.body.innerHTML;
parent.window.document.getElementById('Conta').value=parseInt(parent.window.
document.getElementById('Conta').value,10)+1;
}
==============Fine script=================0

 funzione next()
E perche' non fare un:
inc++;
next();
?
[code-cut]
Non sono stato troppo a vedere il codice, un consiglio che ti posso dare se
hai problemi di temporizzazione con l'onload nell'iframe, e' quello di
provare a gestire il readystate/onreadystatechange. Trovi la documentazione
relativa sul sito 
msdn.microsoft.com
.
-- 
C'ya,
  ZER0 :: coder.gfxer.webDesigner();
"When you have eliminated the impossible, whatever remains,
however improbable, must be the truth." (S.H.)

 relativa sul sito 
msdn.microsoft.com
.
Ok. provo a dare un'occhio alla reference su msdn.. vediamo se mi illumina.
Thanks!

 Ok. provo a dare un'occhio alla reference su msdn.. vediamo se mi illumina.
Poi fammi sapere :)
In realta' vi sarebbe anche un altra alternativa, ma forse non e' cio' che
desideri.


 desideri.
mmm... sarebbe? magari non mi serve adesso.. ma mi potrebbe servire in
futuro.. :))
Dimmi dimmi :)