- gli oggetti con proprietà "document.forms", li avevo già
cambiati[stamattina, mentre attendevo un tuo reply], sostituendo le
parentesi quadre al posto delle tonde, cioè:
- Codice: Seleziona tutto
document.forms['risposte'].action=document.forms['risposte'].elements
['hindietrov']....
- mi puoi charire il discorso sulle variabili, tipo:
frm = document.forms('risposte')
- non voglio che mi corregga tu tutto il codice (sarebbe bello, ma alla fine
non imparo molto):
però, siccome non me ne intendo ancora, ti chiedo se hai pazienza di darmi
le indicazioni e dare un'occhiata ai miei tentativi.
Ecco il primo tentativo:
- Codice: Seleziona tutto
<html>
<head>
<script LANGUAGE="Javascript">
function uscitaimprovvisa(e)
{
if(!e) e = window.event;
py=e.clientY;
if (py<0)
{
if(e.preventDefault) e.preventDefault()
else e.returnValue=true
/*
event.returnValue="ATTENZIONE! ...etc etc. ";
*/
}
//alert(py + "Uscendo i dati non verranno registrati
correttamente!")
}
function cancella_cmenu(e)
{
if(!e) e = window.event;
py=e.clientY;
if (py<0)
{
if(e.preventDefault) e.preventDefault()
else e.returnValue=false
/*
event.returnValue=false;
*/
}
function inviaavanti(e)
{
document.forms['risposte'].action=document.forms['risposte'].elements['havan
ti'].value;
document.forms['risposte'].submit();
}
function inviaindietro(e)
{
document.forms['risposte'].action=document.forms['risposte'].elements['hindi
etro'].value;
document.forms['risposte'].submit();
}
function inviaavantiv(e)
{
document.forms['risposte'].action=document.forms['risposte'].elements['havan
tiv'].value;
document.forms['risposte'].submit();
}
function inviaindietrov(e)
{
document.forms['risposte'].action=document.forms['risposte'].elements['hindi
etrov'].value;
document.forms['risposte'].submit();
}
//segnala che è stat modificata una domanda e gestisce la rispota singola
function dommodificata(tipo,elem,nrisposte)
{
var lett =new Array();
lett[1]='a';
lett[2]='b';
lett[3]='c';
lett[4]='d';
lett[5]='e';
lett[6]='f';
document.forms['risposte'].elements['hmodificata'].value="ok";
//alert(elem);
if (tipo=='s')
{
for (i=1; i<=nrisposte; i++)
{
if (!(i==elem))
{
strelem='risp' + lett[i];
document.forms['risposte'].elements[strelem].checked=false;
}
}
}
}
//chiamata quando ci si prepara a uscire
function uscita(e)
{
document.forms['risposte'].elements['huscita'].value="ok";
document.forms['risposte'].action=document.forms['risposte'].elements['hstru
scita'].value;
document.forms['risposte'].submit();
}
//se si decide di non uscire
function nouscita(e)
{
document.forms['risposte'].elements['huscita'].value="no";
document.forms['risposte'].action=document.forms['risposte'].elements['hstru
scita'].value;
document.forms['risposte'].submit();
}
//se si decide di uscire
function termina(e)
{
document.forms['risposte'].action=document.forms['risposte'].elements['hstrt
ermina'].value;
document.forms['risposte'].submit();
}
function doLoad(e)
{
setTimeout( "refresh()", 90*60*1000 );
}
function refresh(e)
{
window.location.href=window.location.href
//window.location.reload( false );
}
</script>
</head>
<body onload="doLoad()" onbeforeunload='uscitaimprovvisa(event)'
xonkeydown='cancella_cmenu(event)' xoncontextmenu='cancella_cmenu(event)'
bgcolor="#FFFFFF">
<center>
<table border="0" width="100%" cellspacing="1" cellpadding="3">
<tr>
<td width="152" bgcolor="white" style="border: 1 solid
#000080" align="center" rowspan="3"><img border="0"
src="Img/*******.gif"></td>
<td bgcolor="#d90000" style="border: 1 solid #000080"
align="center" width="48%"><font color="white" size="2"
face="Arial"><b>**************</b></font></td>
<td bgcolor="#d90000" style="border-right: 1 solid
#000080; border-top: 1 solid #000080; border-bottom: 1 solid #000080"
align="center" width="57%"><font color="white" face="Arial"
size="2"><b>Questionario 002 </b></font><font face="Arial" size="2"><b><br>
</b></font><b><font size="1" color="black"
face="Arial">(MINUTI: 0 circa)</font> </b></td>
</tr>
<tr>
<td width="48%" style="border-left: 1 solid #000080;
border-right: 1 solid #000080" bgcolor="#d90000" align="center"><font
color="white" size="1" face="Arial"><b>Domanda n& 1 di 100</b></font></td>
<td width="57%" style="border-left: 1 solid #000080;
border-right: 1 solid #000080" bgcolor="#d90000" align="center"><font
color="white" face="Arial" size="1"><b>Domande senza risposta:
100</b></font></td>
</tr>
<tr>
<td colspan="2" bgcolor="#b7cfe2" style="border-right: 1
solid #000080; border-bottom: 1 solid #000080">
<center>
<font color="#003466" size="1"
face="Arial"><b>Tematica: DL</b></font></center>
</td>
</tr>
</table>
</center>
<center>
<p>
<form name="risposte" method="POST" action="(Empty Reference!)">
<table border="0" width="90%" cellspacing="0" cellpadding="3"
height="110">
<tr height="49">
<td colspan="2" bgcolor="#b7cfe2" style="border: 1 solid
#000080" height="49"><font face="Arial" size="2"><b>1) Che tipo di
informazione fornisce l'immagine scintigrafica? </b><br>
<br>
</font></td>
</tr>
<tr height="49">
<td width="84%" valign="top" bgcolor="white"
style="border-left: 1 solid #000080; border-right: 1 solid #000080;
border-bottom: 1 solid #000080" height="49"><font face="Arial" size="2">funz
ionale<br>
<br>
</font></td>
<td width="16%" valign="top" bgcolor="white"
style="border-right: 1 solid #000080; border-bottom: 1 solid #000080"
height="49">
<center>
<font face="Arial" size="2"><input type="radio"
name="rispa" value="ON" onclick="dommodificata('s',1,5)"> </font></center>
</td>
</tr>
<tr height="49">
<td width="84%" valign="top" bgcolor="white"
style="border-left: 1 solid #000080; border-right: 1 solid #000080;
border-bottom: 1 solid #000080" height="49"><font face="Arial"
size="2">morfo-funzionale<br>
<br>
</font></td>
<td width="16%" valign="top" bgcolor="white"
style="border-right: 1 solid #000080; border-bottom: 1 solid #000080"
height="49">
<center>
<font face="Arial" size="2"><input type="radio"
name="rispb" value="ON" onclick="dommodificata('s',2,5)"> </font></center>
</td>
</tr>
<tr height="49">
<td width="84%" valign="top" bgcolor="white"
style="border-left: 1 solid #000080; border-right: 1 solid #000080;
border-bottom: 1 solid #000080" height="49"><font face="Arial"
size="2">strutturale<br>
<br>
</font></td>
<td width="16%" valign="top" bgcolor="white"
style="border-right: 1 solid #000080; border-bottom: 1 solid #000080"
height="49">
<center>
<font face="Arial" size="2"><input type="radio"
name="rispc" value="ON" onclick="dommodificata('s',3,5)"> </font></center>
</td>
</tr>
<tr height="49">
<td width="84%" valign="top" bgcolor="white"
style="border-left: 1 solid #000080; border-right: 1 solid #000080;
border-bottom: 1 solid #000080" height="49"><font face="Arial"
size="2">morfologica<br>
<br>
</font></td>
<td width="16%" valign="top" bgcolor="white"
style="border-right: 1 solid #000080; border-bottom: 1 solid #000080"
height="49">
<center>
<font face="Arial" size="2"><input type="radio"
name="rispd" value="ON" onclick="dommodificata('s',4,5)"> </font></center>
</td>
</tr>
<tr height="49">
<td width="84%" valign="top" bgcolor="white"
style="border-left: 1 solid #000080; border-right: 1 solid #000080;
border-bottom: 1 solid #000080" height="49"><font face="Arial"
size="2">nessuna delle precedenti<br>
<br>
</font></td>
<td width="16%" valign="top" bgcolor="white"
style="border-right: 1 solid #000080; border-bottom: 1 solid #000080"
height="49">
<center>
<font face="Arial" size="2"><input type="radio"
name="rispe" value="ON" onclick="dommodificata('s',5,5)"> </font></center>
</td>
</tr>
<input name="havanti" type="hidden"
value="domanda.asp?utente=...................">
<input name="hindietro" type="hidden">
<input name="hiddom" type="hidden" value="243">
<input name="havantiv" type="hidden"
value="domanda.asp?utente=...................">
<input name="hindietrov" type="hidden" value="=fr">
<input name="hmodificata" type="hidden" value="no">
<input name="huscita" type="hidden" value="no">
<input name="hstruscita" type="hidden"
value="domanda.asp?utente=...................">
<input name="holdambito" type="hidden" value="dl_02"><input
name="hcolambito" type="hidden" value="2">
<input name="hstrtermina" type="hidden" value="termina.asp?utente=........">
</form>
</table>
</p>
</center>
<center>
<p><br>
</p>
</center>
<center>
<p>
<table border="0" width="40%">
<tr>
<td width="25%"></td>
<td width="25%"></td>
<td width="25%">
<center>
<a href="#" onclick="inviaavanti(event); return false;"><img
border="0" src="Img/arr_bluedown1.gif" width="15" height="15"
alt="Avanti"></a></center>
</td>
<td width="25%">
<center>
<a href="#" onclick="inviaavantiv(event); return false;"><img border="0"
src="Img/avantiveloce.gif" width="32" height="17" alt="Avanti veloce
(domanda senza risposta)"></a>
</center>
</td>
</tr>
</table>
</p>
</center>
<center>
<p>
<table border="0" width="20%" cellspacing="0" cellpadding="3"
bordercolor="#000080" bgcolor="white">
<tr>
<td width="25%" bgcolor="white" onclick="uscita(event)"
style="cursor:pointer" <p align="center" > <img border="0"
src="img/esci.gif" width="114" height="18" alt="esci e registra il test">
</td> </tr> </table> </center> </div> </body></td>
</tr>
</table>
</center>
</body>
</html>
In questo 1° caso, su Explorer 5x/win (l' unico su cui funzionava) mi dà un
sacco di errori di debug (Errore previsto - Eccezione di runTime JsScript!!!
***************************
***************************
oppure
- Codice: Seleziona tutto
<html>
<head>
<script LANGUAGE="Javascript">
function uscitaimprovvisa()
{
py=event.clientY;
if (py<0)
{
event.returnValue="ATTENZIONE! Chiudendo la finestra in questo modo il
sistema non registra definitivamente i dati e sarà possibile proseguire lo
stesso questionario in seguito.\n Per registrare definitivamente i risultati
è necessario premere il pulsante 'ANNULLA' ('CANCEL') in questa finestra e
poi il pulsante 'ESCI' nella finestra principale, solo in questo caso il
sistema comunicherà il punteggio ottenuto. ";
}
//alert(py + "Uscendo i dati non verranno registrati
correttamente!")
}
function cancella_cmenu()
{
event.returnValue=false;
}
function inviaavanti()
{
document.forms['risposte'].action=document.forms['risposte'].elements['havan
ti'].value;
document.forms['risposte'].submit();
}
function inviaindietro()
{
document.forms['risposte'].action=document.forms['risposte'].elements['hindi
etro'].value;
document.forms['risposte'].submit();
}
function inviaavantiv()
{
document.forms['risposte'].action=document.forms['risposte'].elements['havan
tiv'].value;
document.forms['risposte'].submit();
}
function inviaindietrov()
{
document.forms['risposte'].action=document.forms['risposte'].elements['hindi
etrov'].value;
document.forms['risposte'].submit();
}
//segnala che è stat modificata una domanda e gestisce la rispota singola
function dommodificata(tipo,elem,nrisposte)
{
var lett =new Array();
lett[1]='a';
lett[2]='b';
lett[3]='c';
lett[4]='d';
lett[5]='e';
lett[6]='f';
document.forms['risposte'].elements['hmodificata'].value="ok";
//alert(elem);
if (tipo=='s')
{
for (i=1; i<=nrisposte; i++)
{
if (!(i==elem))
{
strelem='risp' + lett[i];
document.forms['risposte'].elements[strelem].checked=false;
}
}
}
}
//chiamata quando ci si prepara a uscire
function uscita()
{
document.forms['risposte'].elements['huscita'].value="ok";
document.forms['risposte'].action=document.forms['risposte'].elements['hstru
scita'].value;
document.forms['risposte'].submit();
}
//se si decide di non uscire
function nouscita()
{
document.forms['risposte'].elements['huscita'].value="no";
document.forms['risposte'].action=document.forms['risposte'].elements['hstru
scita'].value;
document.forms['risposte'].submit();
}
//se si decide di uscire
function termina()
{
document.forms['risposte'].action=document.forms['risposte'].elements['hstrt
ermina'].value;
document.forms['risposte'].submit();
}
function doLoad()
{
setTimeout( "refresh()", 90*60*1000 );
}
function refresh()
{
window.location.href=window.location.href
//window.location.reload( false );
}
</script>
</head>
<body onload="doLoad()" onbeforeunload='uscitaimprovvisa()'
xonkeydown='cancella_cmenu()' xoncontextmenu='cancella_cmenu()'
bgcolor="#FFFFFF"> <center>
<table border="0" width="100%" cellspacing="1" cellpadding="3">
<tr>
<td width="152" bgcolor="white" style="border: 1 solid
#000080" align="center" rowspan="3"><img border="0"
src="Img/*******.gif"></td>
<td bgcolor="#d90000" style="border: 1 solid #000080"
align="center" width="48%"><font color="white" size="2"
face="Arial"><b>**************</b></font></td>
<td bgcolor="#d90000" style="border-right: 1 solid
#000080; border-top: 1 solid #000080; border-bottom: 1 solid #000080"
align="center" width="57%"><font color="white" face="Arial"
size="2"><b>Questionario 002 </b></font><font face="Arial" size="2"><b><br>
</b></font><b><font size="1" color="black"
face="Arial">(MINUTI: 0 circa)</font> </b></td>
</tr>
<tr>
<td width="48%" style="border-left: 1 solid #000080;
border-right: 1 solid #000080" bgcolor="#d90000" align="center"><font
color="white" size="1" face="Arial"><b>Domanda n& 1 di 100</b></font></td>
<td width="57%" style="border-left: 1 solid #000080;
border-right: 1 solid #000080" bgcolor="#d90000" align="center"><font
color="white" face="Arial" size="1"><b>Domande senza risposta:
100</b></font></td>
</tr>
<tr>
<td colspan="2" bgcolor="#b7cfe2" style="border-right: 1
solid #000080; border-bottom: 1 solid #000080">
<center>
<font color="#003466" size="1"
face="Arial"><b>Tematica: DL</b></font></center>
</td>
</tr>
</table>
</center>
<center>
<p>
<form name="risposte" method="POST" action="(Empty Reference!)">
<table border="0" width="90%" cellspacing="0" cellpadding="3"
height="110">
<tr height="49">
<td colspan="2" bgcolor="#b7cfe2" style="border: 1 solid
#000080" height="49"><font face="Arial" size="2"><b>1) Che tipo di
informazione fornisce l'immagine scintigrafica? </b><br>
<br>
</font></td>
</tr>
<tr height="49">
<td width="84%" valign="top" bgcolor="white"
style="border-left: 1 solid #000080; border-right: 1 solid #000080;
border-bottom: 1 solid #000080" height="49"><font face="Arial"
size="2">funzionale<br>
<br>
</font></td>
<td width="16%" valign="top" bgcolor="white"
style="border-right: 1 solid #000080; border-bottom: 1 solid #000080"
height="49">
<center>
<font face="Arial" size="2"><input type="radio"
name="rispa" value="ON" onclick="dommodificata('s',1,5)"> </font></center>
</td>
</tr>
<tr height="49">
<td width="84%" valign="top" bgcolor="white"
style="border-left: 1 solid #000080; border-right: 1 solid #000080;
border-bottom: 1 solid #000080" height="49"><font face="Arial"
size="2">morfo-funzionale<br>
<br>
</font></td>
<td width="16%" valign="top" bgcolor="white"
style="border-right: 1 solid #000080; border-bottom: 1 solid #000080"
height="49">
<center>
<font face="Arial" size="2"><input type="radio"
name="rispb" value="ON" onclick="dommodificata('s',2,5)"> </font></center>
</td>
</tr>
<tr height="49">
<td width="84%" valign="top" bgcolor="white"
style="border-left: 1 solid #000080; border-right: 1 solid #000080;
border-bottom: 1 solid #000080" height="49"><font face="Arial"
size="2">strutturale<br>
<br>
</font></td>
<td width="16%" valign="top" bgcolor="white"
style="border-right: 1 solid #000080; border-bottom: 1 solid #000080"
height="49">
<center>
<font face="Arial" size="2"><input type="radio"
name="rispc" value="ON" onclick="dommodificata('s',3,5)"> </font></center>
</td>
</tr>
<tr height="49">
<td width="84%" valign="top" bgcolor="white"
style="border-left: 1 solid #000080; border-right: 1 solid #000080;
border-bottom: 1 solid #000080" height="49"><font face="Arial"
size="2">morfologica<br>
<br>
</font></td>
<td width="16%" valign="top" bgcolor="white"
style="border-right: 1 solid #000080; border-bottom: 1 solid #000080"
height="49">
<center>
<font face="Arial" size="2"><input type="radio"
name="rispd" value="ON" onclick="dommodificata('s',4,5)"> </font></center>
</td>
</tr>
<tr height="49">
<td width="84%" valign="top" bgcolor="white"
style="border-left: 1 solid #000080; border-right: 1 solid #000080;
border-bottom: 1 solid #000080" height="49"><font face="Arial"
size="2">nessuna delle precedenti<br>
<br>
</font></td>
<td width="16%" valign="top" bgcolor="white"
style="border-right: 1 solid #000080; border-bottom: 1 solid #000080"
height="49">
<center>
<font face="Arial" size="2"><input type="radio"
name="rispe" value="ON" onclick="dommodificata('s',5,5)"> </font></center>
</td>
</tr>
<input name="havanti" type="hidden"
value="domanda.asp?utente=...................">
<input name="hindietro" type="hidden">
<input name="hiddom" type="hidden" value="243">
<input name="havantiv" type="hidden"
value="domanda.asp?utente=...................">
<input name="hindietrov" type="hidden" value="=fr">
<input name="hmodificata" type="hidden" value="no">
<input name="huscita" type="hidden" value="no">
<input name="hstruscita" type="hidden"
value="domanda.asp?utente=...................">
<input name="holdambito" type="hidden" value="dl_02"><input
name="hcolambito" type="hidden" value="2">
<input name="hstrtermina" type="hidden" value="termina.asp?utente=........">
</form>
</table>
</p>
</center>
<center>
<p><br>
</p>
</center>
<center>
<p>
<table border="0" width="40%">
<tr>
<td width="25%"></td>
<td width="25%"></td>
<td width="25%">
<center>
<a href="#" onclick="inviaavanti(); return false;"><img
border="0" src="Img/arr_bluedown1.gif" width="15" height="15"
alt="Avanti"></a></center>
</td>
<td width="25%">
<center>
<a href="#" onclick="inviaavantiv(); return false;"><img border="0"
src="Img/avantiveloce.gif" width="32" height="17" alt="Avanti veloce
(domanda senza risposta)"></a>
</center>
</td>
</tr>
</table>
</p>
</center>
<center>
<p>
<table border="0" width="20%" cellspacing="0" cellpadding="3"
bordercolor="#000080" bgcolor="white">
<tr>
<td width="25%" bgcolor="white" onclick="uscita()"
style="cursor:pointer" <p align="center" > <img border="0"
src="img/esci.gif" width="114" height="18" alt="esci e registra il test">
</td> </tr> </table> </center> </div> </body></td>
</tr>
</table>
</center>
</body>
</html>
In questo 2° caso, è Ok su Explorer/win, ma non credo che la stringa
- Codice: Seleziona tutto
function uscitaimprovvisa()
{
py=event.clientY;
if (py<0)
{
event.returnValue="ATTENZIONE! Chiudendo ....etc. ";
}
funga su Netscape...???
In entrambi i casi, NON so come sostituire i gestori evento
"onbeforeunload, xonkeydown, xoncontextmenu" ...???
ciao, grazie
PS:
ripeto: non l'ho scritto io quel codice...l'ho trovato fatto e ne ho
constatato l'inompatibilità con Netscape e con i browsers/Mac.
Il mio intento è modificarlo per esntenderne la compatibilità (se poi lo
alleggerisco e rendo anche + elegante, tanto meglio!)
--> mi puoi indicare un editor/debugger Javascript (uno che tu ritieni
valido) che giri anche su Mac?
oppure potrei usare la consolle di NN 7/mac (mi pareva di averla usata una
volta, ma nella vers.4x...la si richiama digitando "javascript :" nella
barraURL ?)
[su Win uso solo Explorer.]
Phoenix non l'ho trovato (sia su tucows sia zdnet?)