Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2000
    residenza
    Milano
    Messaggi
    188

    Ricarica parente condizionato

    Mamma mia... qua sembra 'sto cercando di risvegliare un cosanguineo che crede in altre fedi...

    Invece ho un link (a fianco di un campo TEXT di un form) che apre una mini-pagina che fa un controllo su un database per vedere se quella riga già c'e'.
    Se c'e' dovrebbe ricaricaricare la pagina che ha aperto questa popup, altrimenti da' solo un messaggio di OK e si chiude.
    Il controllo sul database lo fa il PHP che fra l'altro prepara una stringa da inserire come output e pure una variabile per far capire allo script javascript la condizione rilevata.
    E qua va tutto bene.
    Quello che non mi va è il seguito dello script, che dopo aver stampato il testo non fa un tubazzo (dovrebbe ricaricare la pagina sotto e poi chiudersi o solo chiudersi, ma non fa null'altro!).

    Questo è il sorgente lato server (con le variabili php):

    <SCRIPT type="text/javascript">
    alert('<?=$Testo_alert;?>');
    if (<?=$ricarica;?>=1) opener.window.location.reload();
    self.close();
    </SCRIPT>
    Allora, CASO 1; se si verifica la condizione che il record già c'e', il valore della variabile $ricarica diventa 1, quindi il browser ottiene:
    <SCRIPT type="text/javascript">
    alert('Valore già inserito');
    if (1=1) opener.window.location.reload();
    self.close();
    </SCRIPT>
    Perchè non va? uno è uguale ad 1 (non ho controllato ma mi pare di ricordare...) e quindi dovrebbe scaternarsi il reload della pagina sotto e poi chiudersi.
    CASO 2: il record non è presente, si chiude l'alert e ciao, non va neppure questo che però così lo ricevo (correttamente) sul browser:
    <SCRIPT type="text/javascript">
    alert('OK; procediamo');
    if (0=1) opener.window.location.reload();
    self.close();
    </SCRIPT>
    Dove sbaglio?
    Ho provato a includere l'istruzione dopo IF fra {} ma siamo sempre lì, non lo esegue quando dovrebbe e poi comunque non si SELFaCHIUDE.

    Dove sbaglio?
    Grazie a chi mi risponderà!

  2. #2
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    ricarica puo' essere 0 o 1?
    allora potresti scrivere direttamente
    Codice PHP:
    <? if($ricarica){echo "window.opener.location.reload();";}
    occhio che ho invertito window e opener:
    window.opener gia' rappresenta un oggetto window, il quale sicuramente non ne contiene un altro
    ciao

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2000
    residenza
    Milano
    Messaggi
    188
    Perfetto.

    Ho modificato la parte javascript capovolgendo window.opener.

    Per la cronaca ho poi livellato il codice semplicemente facendo scrivere nella variabile $Testo_alert in php il messaggio d'errore (se presente) e quindi facendo poi il controllo sul contenuto così e va benissimo:
    codice:
    <SCRIPT type="text/javascript">
    	if ("<?=$Testo_alert;?>"!="0")	{	
    		alert('<?=$Testo_alert;?>');
    		window.opener.location.reload(); 
    	}
    	else {
    		alert('OK, <?=$check_nick;?> nick valido');
    	}
    	self.close(); 
    </SCRIPT>
    (Ovviamente ad inizio codice php forzavo la variabile: )
    codice:
    $Testo_alert=0;	
    if ($sql_controllo[id]!=NULL)  $Testo_alert= "Mi spiace. Record già presente.";
    GRAZIEEEEEEEEEEEEE!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.