Discussione:
passaggio parametro popup in chiusura
(troppo vecchio per rispondere)
Sara
2007-10-09 06:56:01 UTC
Permalink
Ciao, ho ancora un problemino nella gestione dei popup!
Nei giorni scorsi avevo chiesto aiuto sul come aprirli, e passar loro
dei parametri!
Un dubbio..
Nella form di popup io faccio inserire all'utente dei valori, e quando
clicca sul bottone che chiude lo stesso, io vorrei passare al form
principale, che intanto è rimasto aperto, i campi inseriti!
ma come?

cod. di es.
print "<label class=\"12blue\"><b>Nuovo Contatto:</b></label><br><br>";
print "<div align=\"left\">";
print "<table border=\"0\">";
print "<tr>";
print "<td width=\"200\"><label class=\"12
\"><b>Descrizione:</b></label></td>";
print "<td><input type=\"text\" id=\"forn\" size=\"40\"
name=\"ragsoc\"></td>";
print "</tr>";
print "<tr><td width=\"200\"><label class=\"12blue\"><a
target=\"principale\" href=\"form_principale.php\"
Onclick=\"javascript=window.close();\"><img border=\"0\"
src=\"image/aggiungi.gif\" width=\"16\" height=\"16\"><b>Aggiungi
contatto</b></a></label></td>";

Come faccio dal form principale a prendere il parametro "ragsoc", che
non è altro che il campo inserito dall'utente nel popup?
Grazie moltissime...
(Rob se risponderai tu, sappi è l'ultimo enigma sui popup che ho da
chiedere..grazie maestro!)

baci baci!
Negus
2007-10-09 08:21:03 UTC
Permalink
Post by Sara
Nella form di popup io faccio inserire all'utente dei valori, e quando
clicca sul bottone che chiude lo stesso, io vorrei passare al form
principale, che intanto è rimasto aperto, i campi inseriti!
ma come?
E' un problema da risolvere lato client, con Javascript.

Ciao,
Fabrizio

---website: http://www.negusweb.it
rob4you
2007-10-09 11:47:46 UTC
Permalink
Post by Sara
(Rob se risponderai tu, sappi è l'ultimo enigma sui popup che ho da
chiedere..grazie maestro!)
Se mi chiami....io DEVO rispondere per forza. :)
Ma una cosa non mi è chiara:
Dalla pagina principale, su cui c'è un form, quando clicco su un
particolare bottne, mi viene aperta una popup, con un altro form; io
riempio questo secondo form, e dopo la chiusura di questa popup i dati
appena immessi vuoi che siano visualizzati nei campi del form
principale?
E a che pro? Voglio dire, non fai prima a usare un solo form, facendo
inserire direttamente là i dati necessari?

Probabilmente non ho capito bene, quindi spiegami bene in dettaglio
quello che vuoi fare, così troviamo la soluzione. :)
--
rob4you
www.outofmind.eu
Sara
2007-10-09 12:41:29 UTC
Permalink
Post by rob4you
E a che pro? Voglio dire, non fai prima a usare un solo form, facendo
inserire direttamente là i dati necessari?
Ciao Rob!!! su di te si può sempre fare affidamwento!
A che pro mò te lo svelo!! :))

Allora nella form rub_telefonica.php io dò la possibilità all'utente di
ricercare i numeri nella ruibrica telefonica..
Quindi cè un text in cui si inserisce la lettera, o parola da ricercare,
un bottone, che se viene cliccato ricarico la pagina con i risultati
della ricerca ottenuti, e quindi con i rispettivi indirizzi e numeri di
telefono..

Al fondo della pagina ho un tasto "Nuovo contatto", in cui apro il popup
richiedendo i dati in input, e quando viene confermato vorrei: chiudere
il popup, e ricaricare la pagina rub_telefonica.php con a questo punto
anche il nuovo inserimento all'interno!

E' chiaro del perchè? Il popup non è il compito principale della form, ma
solo un'opzione!

A questo punto per passare i valori inseriti dal popup alla form
rub_telefonica.php?



mercì!! di cuore!!
bacio rob!!
rob4you
2007-10-09 14:02:53 UTC
Permalink
Post by Sara
E' chiaro del perchè? Il popup non è il compito principale della form, ma
solo un'opzione!
Ora ho capito moolto di piu. :)

Ma tu l'inserimento (parlo proprio della parte lato server, quindi una
combinazione di php e mysql) in che pagina vuoi farlo? In
rub_telefonica.php, oppure in nuovo_contatto.php?
Perché io, in maniera semplicissima, ti consiglierei di farlo nella
pagina nuovo_contatto.php, e ti spiego la procedura:
1) l'utente clicca nella pagina rub_telefonica.php il bottone "nuovo
contatto"
2) si apre la finestra di popup, relatica alla pagina
nuovo_contatto.php
3) in questa popup, c'è una form in cui tu inserisci i dati del nuovo
contatto, e c'è un bottone chiamato "aggiungi"
4) quando clicco il bottone "aggiungi", sempre restando in quella
stessa popup, viene richiamata o la stessa pagina nuvo_contatto.php, o
una nuova pagina ancora, tipo aggiungi.php, che fa semplicemente
l'inserimento del nuovo utente nella rubrica.
5) sempre nella stessa popup, al termine dell'inserimento, la pagina
visualizza semplicemente un qualcosa tipo "Inserimento avvenuto con
successo, clicca qui per tornare al menu principale". E sul link
"clicca qui" ci metti semplicemente una chiamata a codice javascript
tipo:
<a href="javascript:window.close();">Clicca qui</a>
6) Cosi quando io clicco su "Clicca qui", la popup mi viene chiusa, e
torno a vedere la pagina iniziale rub_telefonica.php.
7) A quel punto, posso proseguire con le normali operazioni, e cioè
cercare un contatto già esistente, oppure aggiungere un nuovo contatto.

In definitiva è più facile a dirsi che a farsi. :)
Post by Sara
mercì!! di cuore!!
bacio rob!!
Mado.....tutti questi baci mi faranno squagliare. LOL
--
rob4you
www.outofmind.eu
Sara
2007-10-10 07:40:29 UTC
Permalink
rob!! grazie di cuore!!! hai centrato!!
e son riuscita a realizzare ciò che mi hai detto!

solo una cosa...il punto 5:

(5) sempre nella stessa popup, al termine dell'inserimento, la pagina
visualizza semplicemente un qualcosa tipo "Inserimento avvenuto con
successo, clicca qui per tornare al menu principale". E sul link
"clicca qui" ci metti semplicemente una chiamata a codice javascript
tipo:
<a href="javascript:window.close();">Clicca qui</a>

non posso anzichè visualizzare il link chiudere automaticamente la finestra
di popup?
cioè..al momento della conferma di inserimento, ricarico il popup eseguendo
l'INSERT dei dati immessi, e quando effettuato chiudere automaticamente il
popup?



rob sei un angioletto..
:)))))
rob4you
2007-10-10 09:29:33 UTC
Permalink
Post by Sara
non posso anzichè visualizzare il link chiudere automaticamente la finestra
di popup?
cioè..al momento della conferma di inserimento, ricarico il popup eseguendo
l'INSERT dei dati immessi, e quando effettuato chiudere automaticamente il
popup?
Certo che lo puoi fare....tutto è possibile. :)
Io ti consigliavo di mostare comunque un messaggio di conferma di
avvenuto inserimento, giusto per far capire all'utente che era andato
tutto bene. Perché, oltre al messaggio "positivo", potresti nel caso
far comparire anche un messaggio negativo del tipo "Non è stato
possibile inserire il nuovo contatto" (ad esempio se si è verificato un
problema con il database), oppure messaggi di avviso tipo "Il contatto
è già presente in rubrica", ecc.
Comunque, se invece vuoi fare come dici tu, quando ricarichi il popup
ti basta far scrivere da php, anziché i messaggi che ti consigliavo io,
soltanto qualcosa del tipo:

echo "<script type="text/javascript">windows.close();</script>";

E dovrebbe funzionare. :)
Post by Sara
rob sei un angioletto..
:)))))
& you are my love. LOL
--
rob4you
www.outofmind.eu
Sara
2007-10-10 09:45:25 UTC
Permalink
è corretto rob quanto mi dici!!
ma...ho avuto richiesta non si vedesse questo messaggio...

però..

echo "<script type="text/javascript">windows.close();</script>";

non mi funzeca! non fa nulla!
:((((((((((((
Post by rob4you
& you are my love. LOL
O_O


bacio!
rob4you
2007-10-10 10:01:14 UTC
Permalink
Post by rob4you
echo "<script type="text/javascript">windows.close();</script>";
non mi funzeca! non fa nulla!
:((((((((((((
E si...perché io sono una bestiaccia rara: non devi scrivere

windows.close();

ma:

window.close();

;)

kiss
--
rob4you
www.outofmind.eu
Sara
2007-10-10 14:42:35 UTC
Permalink
ei bestiaccia rara!!!

grazie x l'aiuto...non avevo fatto caso alla s...

siccome avrei bisogno, al ritorno dal popup, di aggiornare la pagina
rub_telefonica.php visualizzando così il nuovo contatto inserito,
stavo provando con queste soluzioni:

- echo "<script type=\"text/javascript\">window.close();window.open
('uti_rubricatelefonica.php?codice=$cod');</script>";
mi funziona, ma mi apre la finestra rub_telefonica.php in un'altra finestra,
non sui quella in piedi nel sito;

- <BODY onunload="if(window.opener)window.opener.location.reload()">
mi aggiorna proprio la pagina, quindi chiedendo a video il messaggio di
conferma di aggiornamento pagina (ho letto in giro, è perchè una pagina passata
con un submit etc etc..)

secondo te Rob è possibile?
io ho paura di no..se non con il metodo del bottone "Clicca qui"..



grazie angioletto!
Alessandro Pellizzari
2007-10-10 14:50:36 UTC
Permalink
Post by Sara
siccome avrei bisogno, al ritorno dal popup, di aggiornare la pagina
rub_telefonica.php visualizzando così il nuovo contatto inserito, stavo
Allora la cosa migliore e` non usare il popup. Quando l'utente clicka
"inserisci nuovo contatto" lo mandi alla pagina di inserimento, alla fine
della quale torni alla pagina di ricerca.

Cosi` risolvi automaticamente tutti i problemi che hai, rendi piu` lineare
e comprensibile l'applicazione, generi meno stati da controllare, ed e`
molto piu` semplice da programmare.

Bye.
rob4you
2007-10-10 18:11:51 UTC
Permalink
Post by Sara
secondo te Rob è possibile?
io ho paura di no..se non con il metodo del bottone "Clicca qui"..
Oltre alla cosa che ti ha detto giustissimamente Alessandro, io provo a
dirtene un'altra......vedi un po' tu se puoi adottarla! :)

Anzi, ora che ci penso, me ne vengono in mente due, ma potrebbero anche
non funzioanare. :)

Prova a fare:

<BODY onunload="if(window.opener)window.opener.location =
'uti_rubricatelefonica.php?codice=$cod'">

Oppure, se la situazione non migliora affatto, sappi che la "confema di
aggiornamento pagina" visualizzata dal browser (sei proprio sicuro?
Sicuro sicuro? Non è che poi ci ripensi?) è dovuta al fatto che
sicuramente come metodo del form hai utilizzato il metodo POST.
Se vuoi/puoi che questa cosa sia evitata a priori, usa il metodo GET.

Toh, vedi un po' tu quale delle due soluzioni è migliore per te (sempre
se funzionano). LOL

kiss
--
rob4you
www.outofmind.eu
Sara
2007-10-11 09:09:20 UTC
Permalink
ROB!! hai centrato (come al solito) grazie!!!!
Post by rob4you
<BODY onunload="if(window.opener)window.opener.location =
'uti_rubricatelefonica.php?codice=$cod'">
Funzionerebbe, ma effettivamente il parametro codice è vuoto, perchè non sò
come passargli la variabile $cod che mi son calcolata all'interno del codice
PHP!
Post by rob4you
Oppure, se la situazione non migliora affatto, sappi che la "confema di
aggiornamento pagina" visualizzata dal browser (sei proprio sicuro?
Sicuro sicuro? Non è che poi ci ripensi?) è dovuta al fatto che
sicuramente come metodo del form hai utilizzato il metodo POST.
Se vuoi/puoi che questa cosa sia evitata a priori, usa il metodo GET.
Questa invece funziona!! E' soltanto un pò bruttino l'effetto ottico
dell'aggiornamento pagina, però potrebbe andare...



Se non ho modi per risolver la prima (non voglio ulteriormente esser di peso x
te) mi aggiusto con la seconda di soluzione!!!

ciao bello!!!
rob4you
2007-10-11 09:28:09 UTC
Permalink
Post by Sara
Post by rob4you
<BODY onunload="if(window.opener)window.opener.location =
'uti_rubricatelefonica.php?codice=$cod'">
Funzionerebbe, ma effettivamente il parametro codice è vuoto, perchè non sò
come passargli la variabile $cod che mi son calcolata all'interno del codice
PHP!
La cosa è fattibile e pure semplice: fai in modo che:

<BODY onunload="if(window.opener)window.opener.location =
'uti_rubricatelefonica.php?codice=$cod'">

Compaia dopo che hai impostato la variabile $cod.

Restando all'interno del codice PHP, potresti fare una cosa del genere:

//dichiari in un certo punto cosa è la variabile $cod
$cod = 15

//... prosegui con le normali operazioni che già fai

//a questo punto, metti qull'onunload nel tag body.
//(occhio agli slash per fare l'escaping delle virgolette):
echo "<BODY onunload=\"if(window.opener)window.opener.location =
'uti_rubricatelefonica.php?codice=$cod'\">";

//mandi in output la restante parte della pagina
//...

Così facendo la variabile $cod sarà valorizzata, e non avrai problemi.
In pratica, quello che ti dico di fare io, che poi è quello che si fa
in genere è questo: metti all'inizio tutta la parte "logica", di codice
vero e proprio (tipo inserimento dati nel database, o le operazioni più
svariate), e DOPO di questa aggiungi in coda la parte "grafica" (e cioè
appunto l'output html).
In questo modo non avrai problemi a chiamare nella parte "grafica"
qualunque variabile tu abbia definito nella parte "logica", in quanto
quest'ultima parte sarà scritta avanti all'altra.
Post by Sara
ciao bello!!!
sta nascendo l'amore. :p
--
rob4you
www.outofmind.eu
Sara
2007-10-11 12:59:58 UTC
Permalink
hai visto???
(credo sia una presa in giro questa...)
((ho paura tu abbia anche ragione nel farmela..))
:)


GRASIAS!!!!
riuscita! funziona!! perfetto!!
Post by rob4you
sta nascendo l'amore. :p
:)))))))))))))))))))))))))))))))))))))


ciao piccolo alla prossima!
rob4you
2007-10-11 13:46:44 UTC
Permalink
Post by Sara
hai visto???
(credo sia una presa in giro questa...)
((ho paura tu abbia anche ragione nel farmela..))
:)
Ma no, è il mio newsreader che aggiunge un'introduzione a caso. E visto
che le introduzioni sono tradotte dalla lingua inglese (o francese mi
sa), allora a volte sembrano un po' strane. :)
Post by Sara
GRASIAS!!!!
riuscita! funziona!! perfetto!!
Visto?? L'importante è che tutto funzioni.
Non esiste l'"IMPOSSIBILE" qui. LOL
Post by Sara
ciao piccolo alla prossima!
I'll be waiting for you. ;)
--
rob4you
www.outofmind.eu
news.tin.it
2007-12-17 18:09:20 UTC
Permalink
Post by Sara
hai visto???
(credo sia una presa in giro questa...)
((ho paura tu abbia anche ragione nel farmela..))
:)
GRASIAS!!!!
riuscita! funziona!! perfetto!!
Post by rob4you
sta nascendo l'amore. :p
:)))))))))))))))))))))))))))))))))))))
ciao piccolo alla prossima!
Sara, ho il tuo stesso problema, ma non l'ho capito,
potresti cortesemente postare un pezzo di codice delle
2 finestre?

Grazie di Tutto

sAITEk
2007-10-09 23:39:58 UTC
Permalink
Post by Sara
Post by rob4you
E a che pro? Voglio dire, non fai prima a usare un solo form, facendo
inserire direttamente là i dati necessari?
Al fondo della pagina ho un tasto "Nuovo contatto", in cui apro il popup
richiedendo i dati in input, e quando viene confermato vorrei: chiudere
il popup, e ricaricare la pagina rub_telefonica.php con a questo punto
anche il nuovo inserimento all'interno!
mercì!! di cuore!!
bacio rob!!
Puoi usare l'evento onUnLoad di BODY del popup in questo modo:

<BODY onunload="if(window.opener)window.opener.location.reload()">

Enzo
Loading...