2013-06-06 16 views
7

Ho bisogno di ricaricare la pagina dopo aver fatto clic sul pulsante OK nella casella di avviso. Sto usando il seguente codice per essoCome ricaricare una pagina dopo l'OK, fare clic sulla pagina di avviso

alert("Successful Message"); 
window.location.reload(); 

Ma la finestra viene ricaricata subito dopo aver visualizzato l'alertbox. Per favore aiutatemi

+1

Utilizzare un 'prompt' invece di un' alert' – Ohgodwhy

+0

Forse aiutare questo http://stackoverflow.com/questions/7146028/detect-when-an-alert-box-is-oked-and-or-closed – JGrinon

+0

Si sta ricaricando questa finestra dopo che la risposta di invio modulo è tornata? – itzmukeshy7

risposta

4

Utilizzare il metodo javascript confirm() anziché avvisare. Restituisce true se l'utente ha fatto clic sul pulsante OK e restituisce false quando l'utente ha fatto clic sul pulsante Annulla. Codice di esempio sarà simile a questa:

if(confirm('Successful Message')){ 
    window.location.reload(); 
} 
+0

Non voglio un pulsante Annulla .. La pagina doveva essere aggiornata Appena dopo aver cliccato ok ... Confermare darà il pulsante Annulla anche –

3

uso di dialogo Conferma invece ....

var r = confirm("Successful Message!"); 
    if (r == true){ 
     window.location.reload(); 
    } 
+0

provato, ma la pagina si ricarica continuamente .. –

0

Come il metodo di avviso in JavaScript non restituisce un valore booleano o cedere il thread corrente, è necessario utilizzare un metodo diverso.

La mia raccomandazione numero uno richiede una piccola esperienza CSS. Dovresti invece creare un elemento div che è fissato in posizione.

Altrimenti è possibile utilizzare il metodo confirm().

confirm("Successful Message"); 
window.location.reload(); 

Tuttavia, questo aggiungerà un pulsante Annulla. Poiché il metodo di conferma non si trova all'interno di un'istruzione if, il pulsante Annulla aggiornerà comunque la pagina come desideri.

27

Conferma ti dà la possibilità di fare clic su Annulla, e la ricarica non sarà fatta!

Invece, si può usare qualcosa di simile:

if(alert('Alert For your User!')){} 
else window.location.reload(); 

Questo mostrerà avviso per l'utente, e quando si fa clic su OK, verrà restituito falso e ricaricare sarà fatto! :) Inoltre, la versione più breve:

if(!alert('Alert For your User!')){window.location.reload();} 

Spero che questo ha aiutato !? :)

+3

FYI. "se (! alert ('Avviso per il tuo utente!')) {window.location.reload();}" funziona, questo dovrebbe essere contrassegnato come risposta. – finnTheHumin

1

Interessante che Firefox interromperà l'ulteriore elaborazione di JavaScript dopo la funzione di riposizionamento. Chrome e IE continueranno a visualizzare altri avvisi e quindi ricaricheranno la pagina. Provalo:

<script type="text/javascript"> 
    alert('foo'); 
    window.location.reload(true); 
    alert('bar'); 
    window.location.reload(true); 
    alert('foobar'); 
    window.location.reload(true); 
</script> 
1

Prova questa:

alert("Successful Message"); 
location.reload(); 
1

Bojan Milic risposta lavorare in un modo, ma errore fuori con un messaggio qui sotto,

enter image description here

Questo può essere evitare con ,

function message() 
{ 
alert("Successful message"); 
window.location = 'url_Of_Redirected_Page' // i.e. window.location='default.aspx' 
} 
3
alert('Alert For your User!') ? "" : location.reload(); 

È possibile scrivere sopra il codice anche in questo formato.Sembra abbastanza decente

+0

Perché usare questo aggiunto qui? "": '? – itzmukeshy7

0

Potrei sbagliarmi qui ma ho avuto lo stesso problema, dopo aver trascorso più tempo di quanto sono orgoglioso di aver realizzato che avevo impostato il chrome per bloccare tutti i pop up e quindi ho continuato a ricaricarmi senza mostrarmi l'avviso scatola. Quindi chiudi la tua finestra e riapri la pagina.

Se ciò non funziona, il problema potrebbe essere qualcosa di più profondo perché tutte le soluzioni già fornite dovrebbero funzionare.

0

Prova questo codice ..

nel codice PHP

echo "<script type='text/javascript'>". 
     "alert('Success to add the task to a project.'); 
     location.reload;". 
    "</script>"; 

in JavaScript

function refresh() 
{ 
    alert("click ok to refresh page"); 
    location.reload(); 
} 
+1

location.reload è un metodo non proprietà vedere il tuo codice php. – itzmukeshy7

+0

Ok, ma questo codice funziona perfettamente per me nel mio progetto. e in questo modo puoi risolvere il tuo problema principale della domanda .. tra l'altro grazie per il tuo tempo .. –

Problemi correlati