2013-06-06 8 views
7

Ich muss die Seite neu laden, nachdem die Schaltfläche OK auf das Feld Warnung geklickt wurde. Ich verwende den folgenden Code für sieSo laden Sie eine Seite nach dem OK Klicken Sie auf die Warnungsseite

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

Aber das Fenster neu geladen wird unmittelbar nach der Alertbox angezeigt wird. Bitte helfen Sie mir darin

+1

Verwenden Sie ein 'prompt' anstelle eines' alert' – Ohgodwhy

+0

Sie vielleicht diese http helfen://stackoverflow.com/questions/7146028/detect-when-an-alert-box-is-oked-and-or-closed – JGrinon

+0

Laden Sie dieses Fenster erneut, nachdem die Antwort auf die Formularübermittlung zurückkommt? – itzmukeshy7

Antwort

4

verwenden Javascript confirm() Methode statt Alarm. Wenn der Benutzer auf die Schaltfläche OK klickt und false zurückgibt, wenn der Benutzer auf die Schaltfläche Abbrechen klickt, wird true zurückgegeben. Beispielcode wird wie folgt aussehen:

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

Ich möchte keine Abbrechen-Schaltfläche .. Die Seite muss aktualisiert werden Nur nach dem Klicken auf OK ... Bestätigen wird auch die Schaltfläche Abbrechen –

3

Verwendung bestätigen Box statt ....

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

versucht dies, aber Seite wird kontinuierlich geladen .. –

0

Da die Warnmethode in JavaScript kein Boolean zurückgeben oder den aktuellen Thread ergeben können, müssen Sie verwenden andere Methode.

Meine Nummer eins Empfehlung erfordert ein wenig CSS-Erfahrung. Sie sollten stattdessen ein div-Element erstellen, das positionsmäßig fixiert ist.

Andernfalls könnten Sie die Methode confirm() verwenden.

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

Dies wird jedoch eine Schaltfläche zum Abbrechen hinzufügen. Da die Bestätigungsmethode jedoch nicht in einer if-Anweisung enthalten ist, aktualisiert die Schaltfläche "Abbrechen" die Seite immer noch so, wie Sie es möchten.

27

Bestätigen gibt Ihnen die Möglichkeit, auf Abbrechen zu klicken, und das Neuladen wird nicht durchgeführt!

Stattdessen können Sie so etwas wie folgt verwenden:

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

Dies wird zu Ihrem Benutzer Alarm angezeigt werden, und wenn er auf OK klickt, wird es return false und neu geladen wird getan werden! :) Auch die kürzere Version:

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

Ich hoffe, dass dies dazu beigetragen !? :)

+3

FYI. "if (! alert ('Alert For your User!')) {window.location.reload();}" dies funktioniert, sollte dies als Antwort markiert werden. – finnTheHumin

1

Interessant, dass Firefox die weitere Verarbeitung von JavaScript nach der Relocate-Funktion stoppen wird. Chrome und IE werden weiterhin alle anderen Warnungen anzeigen und dann die Seite neu laden. Versuchen Sie es:

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

Try this:

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

Bojan Milic Antwort Arbeit in einer Art und Weise, aber es Fehler aus mit einer Meldung unten,

enter image description here

dies vermeiden werden kann mit ,

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(); 

Sie können den obigen Code auch in diesem Format schreiben.Es scheint ganz in Ordnung

+0

Warum verwenden Sie dies hier '? "":? – itzmukeshy7

0

Ich könnte hier falsch liegen, aber ich hatte das gleiche Problem, nachdem ich mehr Zeit als ich bin stolz darauf, dass ich gesetzt hatte, um alle Pop-ups blockiert und damit neu geladen, ohne mir die Warnung zu zeigen Box. Schließen Sie also Ihr Fenster und öffnen Sie die Seite erneut.

Wenn das nicht funktioniert, dann könnte das Problem etwas tiefer liegen, weil alle bereits gegebenen Lösungen funktionieren sollten.

0

diesen Code Versuchen ..

in PHP-Code

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 ist eine Methode nicht Eigenschaft sehen Sie Ihren PHP-Code. – itzmukeshy7

+0

Okay, aber dieser Code funktioniert gut für mich in meinem Projekt. und auf diese Weise können Sie Ihr Hauptproblem lösen. Übrigens, danke für Ihre Zeit. –