2016-08-18 9 views
0

Ich möchte einen Klick auf eine Schaltfläche haben, laden Sie die Seite neu und ändern Sie den Text in der Schaltfläche.Auf Knopfdruck Seite neu laden und Knopftext ändern

Für reload Ich habe:

Javascript:

function reloadPage(){ 
window.parent.location = window.parent.location.href;} 

HTML:

<button type="button" onClick="reloadPage()">Start</button> 

<script src="reloadpage.js"></script> 

Nach Klick, wird der Text in der Schaltfläche "Start" muss sich ändern „noch einmal versuchen! "

Wie kann ich das tun?

Vielen Dank.

+1

Kayla: Werfen Sie einen Blick auf diesen Fall: http://stackoverflow.com/questions/5004978/check-if-page-gets-reloaded-or-refreshed- in-javascript –

Antwort

1

Sie können dies tun, indem Sie beim erneuten Laden eine Abfragezeichenfolge hinzufügen und dann ein Skript verwenden, das die Abfragezeichenfolge erkennt und den Text der Schaltfläche onload ändert.

JavaScript:

function reloadPage(){ 
window.parent.location = window.parent.location.href+"reload=true";} 

function checkQString(){ 
// get query strings and store reload qstring in variable 
if (reload) { 
    document.getElementById('btn').innerHTML = 'Try Again!'; 
} 

HTML

<button id='btn' type="button" onLoad='checkQString();' onClick="reloadPage()">Start</button> 

<script src="reloadpage.js"></script> 
+0

stimmte mit Ihrer Antwort überein. Ich möchte hinzufügen, dass es empfohlen wird, den Text auf der Serverseite basierend auf get Parameter zu ermitteln, anstatt ihn zu generieren und dann zu überschreiben. –

+0

Dieser [link] (http://stackoverflow.com/questions/901115/how-can-i-get-query-string-values-in-javascript) zeigt, wie man QStrings bekommt –

+0

Elias, ich verstehe Ihre Lösung, Upvoted es, aber kritisierte es, seit dem Teil, wo Sie "Versuchen Sie es erneut!" zu innerHTML ist ein Overkill. Sie sollten dies auf der Serverseite tun, bevor Sie diese an den Benutzer senden, anstatt das Markup zu generieren und dann nach 'btn' zu suchen und dessen innerHTML zu überschreiben. –