Newsgroup: it.comp.lang.javascript
Titolo: Gira su FF non su Safari

Ciao a tutti
cda
<script type="text/javascript">
        function cambiopas(){
        window.location="./chgpas3.php";
        }
</script>
richiamata
<input type="button" name="bottc" value="Cambio password" class="button"
onclick="cambiopas()">
il Safari non succede nulla 
Manca qualcosa?
Grazie
-- 
Virgilio

         window.location="./chgpas3.php";
non so se sia qua il problema, ma location è un oggetto (con proprietà "di
default" href), quindi window.location.href="...";
-- 
"Emancipate yourselves from mental slavery;
None but ourselves can free our minds"
									    B.M.

 default" href), quindi window.location.href="...";
Provato, non cambia nulla
Grazie anche per la velocita'
Ciao
-- 
Virgilio

 il Safari non succede nulla 
Hai verificato che non abbia generato qualche errore? Se non "succede
nulla" è probabile che la funzione proprio non venga eseguita. Se non
viene eseguita, è probabile che sia per un errore precedente.
E comunque, puoi sempre fare un po' di debugging "bruto":
<script type="text/javascript">
        function cambiopas(){
		alert("-> cambiopas()");
	        window.location="./chgpas3.php";
        }
</script>
<input type="button" name="bottc" value="Cambio password"
class="button" onclick="alert('button clicked');cambiopas()">
-- 
~ "E' bello essere vivi.
Ci sono tante cose che non si possono fare da morti."

 Hai la pagina online?
No, per il momento e' solo in locale
 
-- 
Virgilio

 class="button" onclick="alert('button clicked');cambiopas()">
visualizza alert
-- 
Virgilio

 
Codice (quasi) completo
<html>
<head>
<title>Service - Abilitazioni</title>
<script type="text/javascript">
function fuori()
        {
        <?php
        session_start();
        session_unset();
        session_destroy();
        $_SESSION = array();
        ?>
        window.location="./about_blank_v.html";
        }
function cambiopas(){
        alert("chgpas()");
        window.location="./chgpas3.php";
        }
</script>
</head>
....
<input type="button" name="bottc" value="Cambio password" class="button"
onclick="cambiopas()">
....
La function cambiopas()  funziona, in Safari, togliendo/commentando la
function fuori() mentre lasciando tutto come lo vedete funziona solo in
FF. Non ho provato IE ne Opera.
Spiegazione?
Grazie a tutti
-- 
Virgilio

 visualizza alert
Il che significa che la funzione non viene proprio invocata,
nonostante l'evento scatti.
Ergo, hai per forza qualche errore generato. Controlla quale
e risolvi la magagna.
-- 
~ Religions change, but beer and wine remain. (Harvey Allen)

 function fuori() 
E si torna al discorso del post di prima: c'è un errore precedente,
che impedisce l'invocazione della funzione "cambiopas".
-- 
~ "L'amore è la risposta.
Ma mentre aspetti la risposta,
il sesso fa nascere alcune buone domande."
(Woody Allen)

...cut..
Di seguito posto il view source da Safari, come noterai il codice e'
datato io mi sono limitato ad inserire la funcion cambiopas e la
relativa chiamata
Grazie ciao
<HTML>
<HEAD>
<TITLE>Service - Abilitazioni</TITLE>
<script type="text/javascript">
function fuori()
        {
        <?php
        session_start();
        session_unset();
        session_destroy();
        $_SESSION = array();
        ?>
        window.location="./about_blank_v.html";
        }
        function cambiopas(){
        window.location="./chgpas3.php";
        }
</script>
</HEAD>
<BODY BGCOLOR="LIGHTBLUE" TEXT="#000000" LINK="#000000" VLINK="#000000"
ALINK="#000000">
<br><br><br><br><br><br><br>
<!-- TABLE GENERAL -->
<TABLE CELLPADDING=2 CELLSPACING=0 BORDER=0 WIDTH="100%">
<TR ><TD HEIGHT=3 COLSPAN=2><SPACER TYPE="block" WIDTH=1
HEIGHT=1></TD></TR>
<TR VALIGN=TOP>
        <TD WIDTH=50%>
<FONT COLOR="#000000" FACE="Verdana, Geneva, Arial" SIZE=2>
<B>
        <center>
                Service... <BR> Service<P></B>
        <br>
        <FONT SIZE=-1>Autorizzazioni alle procedure</FONT><FONT
COLOR="RED"> .</FONT>
</FONT><P>
</B>
<br>
<FONT COLOR="#000000" FACE="Verdana, Geneva, Arial" SIZE=2>
<FORM ACTION="./login3.php" METHOD="POST">
Id Utente:
<input type='text' name='login' size='12'>
<!-- <br> -->
Password:
<input type='password' name='password' size='12' maxlength='10'>
<br><br>
&nbsp; &nbsp;
<input type="submit" name="Log_in" value="Entra" class="button">
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<input type="button" name="botto" value="Esci" class="button"
onclick="fuori()">
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<input type="button" name="bottc" value="Cambio password" class="button"
onclick="cambiopas()">
</FONT>
</FORM>
</CENTER>
<img src="./images/dae_up3.gif" align="right" alt="The Guru" border="0"
/>
</TABLE>
</BODY>
</HTML>
-- 
Virgilio

         ?>
Contiene il codice PHP "non interpretato". Ecco perché la funzione
"fuori" va in errore. Se PHP fosse stato eseguito server-side, non
dovresti trovare queste cose client-side.
-- 
~ Se i sintomi persistono, insultare il medico.

 dovresti trovare queste cose client-side.
Acuto. Ma non si spiega il differente trattamento FF e Safari, anzi
anche con Opera 9.21 e IE 5,2 ho gli stessi problemi di Safari.
La function fuori() invalida anche le altre function indipendentemente
dalla sua posizione nello script; in definitiva funziona solo con FF e
quindi modifico il codice.
Ti ringrazio e ringrazio anche gli altri.
Ciao
-- 
Virgilio

 spiegato perché ogni browser farà un po' quel che gli pare.
Non fa una grinza. 
Il succo e' che ogni browser cerca di risolvere come puo'  e questo nel
mio caso ha tratto in inganno, ma il test lo script lo deve passare con
qualsiasi browser.
C'e' da dire che alcuni script pur corretti(standatd) per girare sotto
alcuni browser(leggi IE) hanno bisogno di codice particolare ma questo
ormai e' consolidato, parlo di IE.
Riscrivero' tutta la pagina visto che e' comunque vecchiotta.
Grazie 
Ciao
-- 
Virgilio