Newsgroup: it.comp.lang.javascript
Titolo: problemi javascript

Salve a tutti
ho il seguente documento html che crea una pagina dinamica con
Javascript:
<HTML>
<HEAD>
<TITLE>Prova JS</TITLE>
<SCRIPT LANGUAGE="JAVASCRIPT" TYPE="TEXT/JAVASCRIPT">
<!--
leftPos=10
topPos=10
if (screen) {
   leftPos=screen.width/5
   topPos=screen.height/4
}
function newWindow(fig) {
  newWin=window.open('','','width=630,height=450,resizable=yes,left='+leftPos+',top='+topPos)
  newWin.document.open()
  newWin.document.write("<HTML>")
  newWin.document.write("<HEAD>")
  newWin.document.write("<TITLE>Immagine singola<\/TITLE>")
  newWin.document.write("<\/HEAD>")
  newWin.document.write("<BODY BGCOLOR='#f1e7e0'
background='images/lettere5.gif' onblur='self.close()'>")
  newWin.document.write("<CENTER>")
  newWin.document.write("<H1>Colle di Val D\'Elsa 2003</H1>")
  newWin.document.write("<IMG SRC="+fig+" widh='90%' height='78%'>")
  newWin.document.write("<P>")
  newWin.document.write("<FORM>")
  newWin.document.write("<INPUT TYPE='BUTTON' VALUE='Chiudi'
ONCLICK='self.close()'>")
  newWin.document.write("<\/FORM>")
  newWin.document.write("<P>")
  newWin.document.write("<\/CENTER>")
  newWin.document.write("<\/BODY>")
  newWin.document.write("<\/HTML>")
  newWin.document.close()
  newWin.focus()
}
//-->
</script>
</HEAD>
<BODY bgColor="#f1e7e0" background="images/lettere5.gif">
<CENTER>
<h1>PARAGRAFO DI TEST</h>
<P>
<A HREF="javascript:newWindow('./tn01.jpg')"><img src="tn01.jpg"
width="20%" height="15%"></A>
<BR>
<A HREF="javascript:newWindow('./tn02.jpg')"><img src="tn02.jpg"
width="20%" height="15%"></A>
<BR>
<A HREF="javascript:newWindow('./tn04.jpg')"><img src="tn04.jpg"
width="20%" height="15%"></A>
</CENTER>
</BODY>
</HTML>
Il mio problema è che il gestore ONCLICK chiude sempre la finestra
qualunque cosa ci scriva ed inoltre non riesco ad aggiungere altri
pulsanti che facciano altre cose (ovvero come si genera codice
Javascript dinamicamente da codice Javascript?)
Grazie a tutti
Pepe

 ed inoltre non riesco ad aggiungere altri pulsanti che facciano altre cose
(ovvero come si genera codice Javascript dinamicamente da codice
Javascript?)
Esattamente come hai già fatto: devi scrivere la pagina html che vuoi
all'interno della nuova pagina aperta

 all'interno della nuova pagina aperta
Oppure scrivi il codice in un file esterno codice.js
e poi semplicemente includi il file
document.write('<script type="text/javascript" src="codice.js"></script>');
Ciao,
Ema

Ciao
evidentemente non mi sono spiegato bene....
il fatto č che se invece di mettere 
onClick='self.close()'
metto una qualunque altra cosa non ottengo neanche un messaggio
d'errore, č come se il gestore venisse ignorato. In piů se definisco
un altro pulsante il cui gestore onClick richiama una semplice
funzione alert(pippo) questo, premuto, chiude la finestra come se
nulla fosse....
Grazie
Pepe

 d'errore, è come se il gestore venisse ignorato.
Beh, ciò è impossibile...
posta il codice incriminato

...

Ciao
il codice è nel primo messaggio del thread... 
Pepe

> il codice è nel primo messaggio del thread...
Mi spiace ma non riesco proprio a capire cosa vuoi ottenere...
Quel codice apre una popup e la costruisce "in tempo reale" usando
document.write, così a grandi linee...qual è il tuo problema? Cosa stai
scrivendo al posto del close() in onClick che non ti funziona?

...

Ciao 
riposto la funzione nella sua ultima versione, senza l'onBlur...
function newWindow(fig) {
  newWin=window.open('','','width=630,height=450,resizable=yes,left='+leftPos+',top='+topPos)
  newWin.document.open()
  newWin.document.write("<HTML>")
  newWin.document.write("<HEAD>")
  newWin.document.write("<TITLE>Immagine singola<\/TITLE>")
  newWin.document.write("<\/HEAD>")
  newWin.document.write("<BODY BGCOLOR='#f1e7e0'
background='images/lettere5.gif'>")
  newWin.document.write("<CENTER>")
  newWin.document.write("<H1>Colle di Val D\'Elsa 2003</H1>")
  newWin.document.write("<IMG SRC="+fig+" widh='90%' height='78%'>")
  newWin.document.write("<P>")
  newWin.document.write("<FORM>")
  newWin.document.write("<INPUT TYPE='BUTTON' VALUE='Precedente'
ONCLICK='alert(Precedente)'>")
  newWin.document.write("<INPUT TYPE='BUTTON' VALUE='Chiudi'
ONCLICK='self.close()'>")
  newWin.document.write("<INPUT TYPE='BUTTON' VALUE='Successiva'
ONCLICK='alert(Successiva)'>")
  newWin.document.write("<\/FORM>")
  newWin.document.write("<P>")
  newWin.document.write("<\/CENTER>")
  newWin.document.write("<\/BODY>")
  newWin.document.write("<\/HTML>")
  newWin.document.close()
  newWin.focus()
}
Come vedi ha 3 BUTTON: dei tre solo il 2° pare funzionare nel senso
che se lo clikko chiude la finestra, gli altri anche se clikkati non
fanno nulla...come mai?
L'idea è semplice: ho una pagina HTML che visualizza delle miniature:
io voglio selezionarle e visualizzarle su una pagina a parte ma voglio
anche usare la pagina per scorrere le immagini, ovvero passare alla
precedente (se c'è) o alla successiva (se c'è).
Ciao e grazie.
Pepe

 Pepe
La alert prende in input una stringa: ci mancano gli apici!!!
Cosi' e' come se gli dicessi di visualizzare la variabile chiamata
Precedente (o Successiva), che non essendo definita, tra l'altro, dovrebbe
darti un errore.
Prova qualcosa tipo
newWin.document.write("<INPUT TYPE='BUTTON' VALUE='Precedente'
ONCLICK='alert(\"Precedente\")'>")
Ciao,
Ema

DPD ha scritto:
[CUT]
Ehm...
c'e' un piccolo errorino di sintassi nella pagina che ti ho spedito.
Sostituisci la riga:
newWin.document.write("<IMG src="+"'fig' widh=90% height=78%>")
con la seguente:
newWin.document.write("<IMG SRC="+fig+" widh=90% height=78%>")
Tanti saluti.
	DPD

 Ema
Grazie, risolto.. vediamo di andare oltre. Posto il seguente codice
var var1="Precedente";
function newWindow(fig) {
  newWin=window.open('','','width=630,height=500,menubar=yes,resizable=yes,left='+leftPos+',top='+topPos);
  newWin.document.open();
  newWin.document.write("<HTML>\n");
  newWin.document.write("<HEAD>\n");
  newWin.document.write("<TITLE>Immagine singola<\/TITLE>\n");
  newWin.document.write('<SCRIPT LANGUAGE="JAVASCRIPT"
TYPE="TEXT/JAVASCRIPT" SRC="1.js"></SCRIPT>\n');
  newWin.document.write("<\/HEAD>\n");
  newWin.document.write("<BODY BGCOLOR='#f1e7e0'
background='images/lettere5.gif' onLoad='displayMsg(Carico)'>\n");
  newWin.document.write("<CENTER>\n");
  newWin.document.write("<H1>Colle di Val D\'Elsa 2003</H1>\n");
  newWin.document.write("<IMG SRC="+fig+" widh='90%' height='78%'
ONCLICK='self.close();'>\n");
  newWin.document.write("<P>\n");
  newWin.document.write("<FORM>\n");
  newWin.document.write("<INPUT TYPE='BUTTON' VALUE='Precedente'
ONCLICK='displayMsg(var1);'>\n");
  newWin.document.write("<INPUT TYPE='BUTTON' VALUE='Chiudi'
ONCLICK='self.close();'>\n");
  newWin.document.write("<INPUT TYPE='BUTTON' VALUE='Successiva'
ONCLICK='alert(\"Successiva\");'>\n");
  newWin.document.write("<\/FORM>\n");
  newWin.document.write("<P>\n");
  newWin.document.write("<\/CENTER>\n");
  newWin.document.write("<\/BODY>\n");
  newWin.document.write("<\/HTML>\n");
  newWin.document.close();
  newWin.focus();
}
la funzione displayMsg è in 1.js che ha la forma seguente:
function displayMsg(msg) {
  alert(msg)
}
function closeWin(win) {
  win.close();
}
il gestore del pulsante Precedente non fa nulla ma nemmeno da
errore... qualche idea?
L'intenzione è quella di associare un gestore ai pulsanti, gestore
contenuto in un file anche esterno e che mi permetta di scorrere le
varie immagini.
Grazie
Pepe

   [...]
Eventualmente, se l'errore non e' questo, una volta aperta, visualizza il
sorgente html della finestra newWin e postalo, cosi' diamo un'occhiata a
quello.
Ciao,
Ema