Przycisk, który odświeża stronę po kliknięciu

108

Potrzebuję przycisku, który odświeży stronę po kliknięciu przez użytkownika. Próbowałem tego:

<input type="button" value="Reload Page" onClick="reload">

lub

<input type="button" value="Refresh Page" onClick="refresh">

Ale żaden nie działał.

Stefan Đorđević
źródło

Odpowiedzi:

237

Używaj onClickz window.location.reload()np .:

<button onClick="window.location.reload();">Refresh Page</button>

Albo history.go(0)np .:

<button onClick="history.go(0);">Refresh Page</button>

Lub window.location.href=window.location.hrefdla pełnego przeładowania, tj .:

<button onClick="window.location.href=window.location.href">Refresh Page</button>

Element Button - developer.mozilla.org

CONvid19
źródło
2
jaka jest różnica między tymi trzema opcjami? Czy w niektórych sytuacjach jest lepszy od innych?
ashleedawg
Nie sądzę, żeby mieli nad sobą przewagę, tylko różne sposoby osiągnięcia tego samego.
CONvid19
1
Nie podniosę nosa, ale „;” brakuje na końcu onClick = "window.location.reload ();"
guido _nhcol.com.br_
1
to całe pytanie jest niepoprawną składnią ... Dziwię się, że ma prawie 200 głosów za. Po pierwsze, przycisk wymaga tagu zamykającego w każdym, a po drugie, wartość nie jest atrybutem tagu przycisku, tekst musi
znajdować
@TaylorS Masz całkowitą rację, zaktualizowałem odpowiedź, dziękuję.
CONvid19
10

To działa dla mnie

HTML

    <button type="submit"  onClick="refreshPage()">Refresh Button</button>

JavaScript

<script>
function refreshPage(){
    window.location.reload();
} 
</script>
Manjunath Akalawadi
źródło
7
<a onClick="window.location.reload()">Refresh</a>

To naprawdę działa idealnie dla mnie.

Awais Jameel
źródło
6

Tylko ta naprawdę ponownie ładuje stronę (dzisiaj)

<input type="button" value="Refresh Page" onClick="location.href=location.href">

Inni nie przeładowują dokładnie. Przechowują wartości w polach tekstowych.

ilias iliadis
źródło
Czy możesz wyjaśnić, co masz na myśli, mówiąc: „ Tylko ta naprawdę ładuje stronę (dzisiaj) ”?
CONvid19
„Dzisiaj” oznacza dzień, w którym to napisałem (bo każdego dnia coś się zmienia). „Tylko to” odnosi się do odpowiedzi udzielonych powyżej przez Pedro Lobito.
ilias iliadis
2
Wszystkie odpowiedzi na SO są „ na dzień dzisiejszy ” i podlegają aktualizacji, jeśli cokolwiek się zmieni, taka jest natura prawie wszystkiego w życiu, nie tylko odpowiedzi.
CONvid19,
5

przycisk odświeżający stronę po kliknięciu

Użyj przycisku onClick z window.location.reload ():

<button onClick="window.location.reload();">
Uwielbiam Kumara
źródło
4
<button onclick=location=URL>Refresh</button>

To może wyglądać zabawnie, ale naprawdę działa.

Thielicious
źródło
4

Zauważyłem, że wszystkie odpowiedzi tutaj używają wbudowanych programów onClickobsługi. Generalnie zaleca się oddzielne przechowywanie kodu HTML i JavaScript.

Oto odpowiedź, która dodaje detektor kliknięć bezpośrednio do przycisku. Po kliknięciu wywołuje location.reload, co powoduje ponowne załadowanie strony pod bieżącym adresem URL.

const refreshButton = document.querySelector('.refresh-button');

const refreshPage = () => {
  location.reload();
}

refreshButton.addEventListener('click', refreshPage)
.demo-image {
  display: block;
}
<button class="refresh-button">Refresh!</button>
<img class="demo-image" src="https://picsum.photos/200/300">

wolt
źródło
3

po prostu utwórz puste odniesienie do linku, takiego jak następujący

 <a href="" onclick="dummy(0);return false;" >
Hamid sk
źródło
1

Użyj tego, że działa dobrze, aby ponownie załadować tę samą stronę:

<button onClick="window.location.reload();">
prashant kute
źródło
0

Chociaż pytanie jest do button, ale jeśli ktoś chce odświeżyć stronę za pomocą <a>, możesz po prostu to zrobić

<a href="./">Reload</a>
Uśmiech
źródło
0
<button onClick="window.location.reload();">Reload</button>

Lub możesz też użyć

<form action="<same page url>" method="GET">
<button>Reload</button>
</form>

Uwaga: zmień "<same page link>"adres URL tej samej strony, którą chcesz ponownie załadować. na przykład: <form action="home.html> method="GET">

Krishna Saxena
źródło
-1

Jeśli szukasz resetu formularza:

<input type="reset" value="Reset Form Values"/>

lub zresetować inne aspekty formularza, które nie są obsługiwane przez przeglądarkę

<input type="reset" onclick="doFormReset();" value="Reset Form Values"/>

Korzystanie z jQuery

function doFormReset(){
    $(".invalid").removeClass("invalid");
}
Richard Taylor-Kenny
źródło
-5
window.opener.location.href ='workItem.adm?wiId='+${param.wiId};

Przejdzie do wymaganej ścieżki i nie pojawi się żaden monit o ponowne wysłanie.

Malatesh
źródło