Newsgroup: it.comp.lang.javascript
Titolo: Evitare il page reload dopo click su alertbox

Scusate
sto realizzando un modulo in php per un portale, all'interno del quale 
faccio per la prima volta in vita mia largo uso di javascript. Ho questo 
semplice problema:
in una pagina ho un elenco di links
quando l'utente cliccka su ciascuno di essi, viene visualizzato un box 
di conferma (prompt?) con i classici pulsanti Si No.
Quando si clicca su si, viene richiamata una funzione php, al termine 
della quale vorrei che apparisse un alert box che dica "OK" o "ERROR" in 
caso di erore.
Nella funzione php ho inserito il codice:
echo '<script type="text/javascript">
	<!--
	    alert ("ERROR");
	// -->
	</script>';
Ma tutto funziona bene fino alla comparsa dell'alert box.
Una volta premuto il pulsante OK, il browser ricarica la pagina 
sottostante dandomi pagina bianca. Io invece vorrei che rimanesse fermo 
sulla pagina in cui si trova, o al limite ricaricasse quella.
Come devo fare? Anche link a documentazione o esempi pratici vanno bene.
Grazie

 sottostante dandomi pagina bianca. 
:-O questo non è possibile, cioé non è possibile con quanto hai scritto
sopra. A naso sembrerebbe un problema dell'anchor iniziale (tipicamente il
prompt è messo nell'evento errato o non restituisce false) (ma in tal caso
non hai ancora ricaricato la pagina ...)
Ho paura (ma magari mi sbaglio) che hai una gran confusione in testa tra
client-side, server-side e la loro interazione.
Logica che ho capito:
 - Link, click, conferma. Se premo "No" rimane lì dov'è altrimenti ricarica
la pagina
 - Ricarica la pagina e tramite php aggiungi alla pagina lo script che hai
indicato sopra
 - viene correttamente visualizzato "ERROR" *E POI PAGINA BIANCA*
C'è qualcosa che non va, quanto sopra NON può avvenire con quello che hai
detto...
-- 
"Ho smesso di fumare.
 Vivrò una settimana di più.
 E in quella settimana pioverà a dirotto"
									    W.A.

>	</script>';
E ancora non ho ricaricato alcuna pagina.
A questo punto volevo inviare al browser una sorta di avviso per fargli 
visualizzare il messaggio di OK. Ma credo che sia necessario che io 
ricarichi la pagina.
Non esiste la possibilità di una soorta di messaggio di notifica che il 
browser visualizza senza ricaricare? tipo i messaggi che si possono 
mandatre da pc a pc con il servizio di windows.
Lo so che sto dicendo una ernormità, ma non si sa mai.
Cmq, dopo una mezz'oerttadi riposino mi sono schiarito le idee, e mi sa 
che ripeto va ricaricata tutta la agina, facendo comparire l'alertbox.
Per come avevo fatto io, l'alertbox compare, ma dopo il click su PK 
viene caricata una pagina bianca. Esiste una maniera per far ricaricare 
la pagina su cui si era in partenza?
Grazie

 mandatre da pc a pc con il servizio di windows.
Sì, xmlhttp ... ma va rivista completamente la logica (e valutato impatto
sui browser che non lo supportano).
-- 
"E' l' ignoranza che crea l'intolleranza
 di gente cieca e senza coscienza"
									  S.S.S.

 Impossibile,
[CUT]
Chiedo venia. I concetti di server-side e client-side mi sono chiari.
E' solo che sono in un periodo un pò così, sto preparando l'ultimo esame 
all'università e la cosa si trascina da parecchio tempo, lunedì ho lo 
scritto e sono giorni che non dormo e ho nausea.
Semplicemente quindi mi sono complicato la vita con inutili seghe 
mentali, senza capire che sto cercando di realizzare l'impossibile.
Ti ringrazio per aver cercato con insistenza di farmi aprire gli occhi. 
Ci sei riuscito :)
Adesso ho risolto. La pagina viene ricaricata, hai ragione scusa. 
Imposto una variabile contnente un messaggio di errore con PHP e poi al 
reload leggo il messaggio e lo stampo a video (senza noiosi alertbox 
peraltro).
grazie ancora :)
Ciao

 Ci sei riuscito :)
Bene!
-- 
"Non sai che ci vuol scienza
 ci vuol costanza
 ad invecchiare senza maturità"
									    F.G.

 prodotto nel carrello) capirai cosa intendi: 
www.primestore.it
 .
Ci ho dato uno sguardo e... complimenti! Effettivamente è proprio quello 
che avevo in mente.
Tuttavia ho risolto così:
eseguita la query su db, imposto una variabile globale contenente un 
messaggio (status o errore in base al risultato della query) e passo a 
ricaricare la pagina iniziale. Mentre faccio questo, controllo 
l'esistenza della variabile creata in precedenza ed eventualmente la 
stampo in un riquadro nella pagina stessa.
Forse da un lato è pure meglio. Credo che alert, popups e tutto il resto 
siano un pò invasivi, almeno parlo della mia esperienza quando navigo :)
Mi ricordano sempre gli "errori" di winzozz :D
P.S. per realizzare il sito sei partito da zero o da un portale 
"prefabbricato"?
P.P.S. lo script che fa scorrere i prodotti, sovraccarica la mia CPU (XP 
2600+) quasi al 100%. uso Firefox.

 2600+) quasi al 100%. uso Firefox.
Eggià ... crea con alcuni browser anche un effetto fastidioso sulle textbox
(dai focus p.e. sul campo login a sinistra, se non ricordo male lampeggia
come un pazzo! [non ricordo se era con firefox questo simpatico effetto
collaterale...)


 collaterale...)
Con Firefox si comporta come hai descritto in effetti :D
Ciao

 Con Firefox si comporta come hai descritto in effetti :D
:-) questo scorrimento č stato esplicitamente richiesto dal committente...


 :-) questo scorrimento è stato esplicitamente richiesto dal committente...
Mah, a me manco piacciono tanto ste animazioni eccessive. Non lo so ma 
mi sanno di "pagina personale" per hobby più che sito commerciale di una 
ditta. Ma si sah, "attacca l'asino dove vuole il padrone".
Sti committenti :)
Ciao

 ditta. Ma si sah, "attacca l'asino dove vuole il padrone".
:-)))))))))) (concordo e sottoscrivo)
-- 
"Voi abili a tenere sempre un piede qua e uno là
 avrete un avvenire certo in questo mondo qua
 però la dignità
 dove l'avete persa?"
									    V.R.

 gratuiti, basta non usare 
visualstudio.net
 per sviluppare...)
ultima domanda, perchè stiamo diventando tremendamente OT.
Che tool utilizzi per sviluppare in aspx? E che cosa consigli di leggere 
per iniziare?
Ciao e grazie

 per iniziare?
Eh, io uso 
visualstudio.net
 ... ma attenzione: è appenaappena uscito
vs2005, sul sito microsoft viene distribuita (per un tempo limitato tipo 1
anno, così mi hanno detto, ma se la scarichi entro l'anno poi potrai usarla
per sempre) la versione express gratuita. io la ho scaricata e installata
ma non ho ancora avuto tempo di testarla, a naso direi che le limitazioni
mi sono sembrate accettabile (ma va ben testata per capirlo).
Altrimenti c'è il mitico 
http://www.asp.net/webmatrix/
 , ma non so se
supporta intelliSense (io uso visualstudio praticamente solo per questo...)
e non so come si comporta col framework 2.0.
Poi armati di santa pazienza, io arrivando da asp (e te da php, la logica è
la stessa) ci ho messo un po' per capire esattamente come ragiona, ma
adesso godo come un porcello! (esempio: ieri ho fatto un programmino che
doveva girare in un batch [quindi dos console]: prendere l'intero archivio,
calcolare i prezzi e segnalare via mail tutti i problemi rilevati. Tempo
richiesto: 20 minuti! Perché? Perché ho usato tutte le classi usate per il
sito internet, ho praticamente dovuto fare solo la microinterfaccia per
Dos!! E non è che le duplichi, no no, usi le stesse classi per entrambi i
progetti [così eventuali bug vengono risolti contemporaneamente
dappertutto]...Altro esempio? Ho rifatto la intranet, quando ho rifatto il
sito che ti ho indicato di query ne ho fatte ben poche, perché ho usato le
stesse identiche classi della intranet...etc etc etc). 
Vedrai, una volta capito è un altro mondo.


 
Vedremo :)
Tieni conto sempre che il mio č solo un hobby, almeno per il momento eh :)
Ciao

 Lo avevo provato una volta, e mi pare di no. Comunque non m'era piaciuto.
Beh, a parte l'intellisense lo avevo provato anch'io tempo fa e non era
male (non devi perň considerarlo un wysiwyg style dreamweaver, č un
ambiente di sviluppo completo...)
-- 
"Affacciati affacciati benedici, guardaci
 guardaci...guardaci!
 Tanto sono quasi duemila anni che stai a guardare!"
									    E.B.