Newsgroup: it.comp.lang.javascript
Titolo: ...ancora non capisco showModalDialog

prima mi è stato suggerito in caso di più di un parametro
un array con le mie informazioni e fino a qui tutt'ok
creando una funzione nella pag che scatena l'apertura
passo il riferimento della funzione alla finestra modale 
ma come utilizzo le variabili della funzione?
è corretto come mi è stato suggerito
nomeFunz.variabile1 
nomeFunz.variabile2
etc..
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

hai ancora problemi?


si ho problemi con la funzione!


strano.
io sto lavorando proprio in quel modo....
una funzione in js è praticamente come una struttura....
quindi passandola come parametro riesco ad accedere alle sue
variabili........


io nella pag che genera l'apertura ho scritto questo:
<script language="javascript">
function fnz()
{
	var pippo=23;
	var pluto=34;
	var paperino=45;
}
function funzione2()
{
//viene richiamata da un bottone
        window.showModalDialog("ciao.htm",fnz);
}
</script>
la finestra modale che va a catturare i parametri contiene:
<script language="javascript">
  var prm=window.dialogArguments;
  alert(prm);
</script>
effettivamente visualizzando con l'alert io vedo tutto 
il testo della fnz
allora il rif. deduco sia andato bene!! Però se faccio
prm.pippo  mi dice che non è definito
PERCHE'? sbaglio qualche cosa a livello di sintassi 
e di logica (ricordati che sono un neofita)
grazie mille anticipatamente


, 
alepiet...@yahoo.it
 says...
Allora, tralasciando il discorso funzione il metodo che ho usato io e' 
il seguente:
Crei un array con cio' che ti interessa passare. Ad esempio:
var args=["Primo argomento",12,"Terzo Argomento"];
Chiami la modale:
self.showModalDialog("mypage.htm",args,"center:yes");
Poi, dalla pagina html chiamata dalla modale (nel ns mypage.htm) fai:
<script>
	var args= window.dialogArguments;
</script>
Ed otterrai un array con gli argomenti passati, nel nostro caso se 
farai:
for (var i=0;i<args.length;i++)
	alert(args[i]);
avrai 3 alert che ti stamperanno in sequenza "Primo argomento", 12 e 
"Terzo Argomento".
-- 
C'ya,
ZER0
  :. job profile - coder.gfxer.webDesigner
"When you have eliminated the impossible, whatever remains,
however improbable, must be the truth." (S.H.)

guarda, sinceramente nn saprei.
l'unica diff che vedo (ma che non credo sia rilevante) è che noi
facciamo
window.dialogArguments.pippo
e includiamo nuovamente la fnz nella modale(anche se avevo provato a
toglierla e andava lo stesso)
nn mi viene in mente nulla
oppure mandami tutte le 2 pagine a 
sdani...@tiscalinet.it
quando ho tempo provo


si infatti già ieri quando mi hai suggerito l'array per 
più di un parametro ha subito funzionato pero mi sono
incastrato con le funzioni e ora è solo una questione di curiosità
cmq grazie mille


grazie per l'impegno e l'interesse dimostratomi Dan se scoprirņ 
o se mi suggeriranno la soluzione ti farņ sapere 
grazie mille ancora


 cmq grazie mille
Ah, capisco, come diceva Riccardo la scorsa volta, sei dell'Ufficio 
Complicazioni Affari Semplici.. ;)
Gli argomenti sono considerati array da che mondo e' mondo (basti 
pensare al C, o anche a Javascript stesso), i vantaggi sono che hai la 
possibilita' di passare "n" cose e sapere esattamente quanti elementi 
hai passato (tramite, in JS, la proprieta' length) in modo da ciclarli.
Le modali prendono in parametro qualsiasi tipo di oggetto, quindi anche 
riferimenti alle funzioni. Ma e' scomodo solo per passare dei dati, in 
quanto non sai a priori il numero effettivo di dati passati.
Inoltre, il riferimento alla funzione viene fatto correttamente, ma non 
puoi ovviamente accedere alle variabili interne. Per farlo dovresti 
trasformare la funzione in classe, oppure direttamente in oggetto.
Esempio:
Nella pagina genitrice:
function fnz()
{
	this.pippo=23,
	this.pluto=34,
	this.paperino=45;
}
nella modale:
var myobj=new window.dialogArguments();
alert(myobj.pippo);
Oppure, nella genitrice:
var mystruct={
	pippo:23,
	pluto:34,
	paperino:45
}
e nella modale:
alert(window.dialogArguments.pippo);


 }
function fnz()
{
 	this.pippo=23;
 	this.pluto=34;
 	this.paperino=45;
 }
Stavo gia' pensando alla parte dopo. ;)


ZERO sei un grande mi hai dato la soluzione!!!
...cmq due piccole domande te le devo fare:
1-) in quel caso anche this da riferimento?
2-) ..e perchè nella modale crei new window.dialogArguments();
(te lo chiedo perchè non ho trovato questo sul mio libro)
grazie ancora
Ale


ZERO mi ha dato la soluzione
se guardi gli ultimi msg c'è del codice e capirai
grazie ancora per prima


 (te lo chiedo perchè non ho trovato questo sul mio libro)
Tsk.. 'sti libri. :P


grazie mi hai chiarito anche altri concetti 
