ปุ่มที่รีเฟรชหน้าเมื่อคลิก


109

ฉันต้องการปุ่มที่จะรีเฟรชหน้าเมื่อคลิกของผู้ใช้ ฉันลองสิ่งนี้:

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

หรือ

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

แต่ไม่ได้ผล

คำตอบ:


237

ใช้onClickกับwindow.location.reload()เช่น:

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

หรือhistory.go(0)กล่าวคือ:

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

หรือwindow.location.href=window.location.hrefสำหรับการรีโหลด ' เต็ม ' กล่าวคือ:

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

องค์ประกอบปุ่ม - developer.mozilla.org


2
ทั้งสามตัวเลือกต่างกันอย่างไร หนึ่งดีกว่าคนอื่น ๆ ในบางสถานการณ์หรือไม่?
ashleedawg

ฉันไม่คิดว่าพวกเขามีข้อดีมากกว่ากันเพียง แต่วิธีการที่แตกต่างกันในการบรรลุเป้าหมายเดียวกัน
CONvid19

1
ฉันจะไม่แหงนจมูก แต่เป็น ";" หายไปที่ส่วนท้ายของ onClick = "window.location.reload ();"
guido _nhcol.com.br_

1
คำถามทั้งหมดนี้เป็นไวยากรณ์ที่ไม่ถูกต้อง ... ฉันประหลาดใจที่มีการโหวตเกือบ 200 ครั้ง ประการแรกปุ่มต้องมีแท็กปิดในแต่ละปุ่มและประการที่สองค่าไม่ใช่แอตทริบิวต์ของแท็กปุ่มข้อความต้องอยู่ระหว่างแท็กและแท็กปิด
Mister SirCode

@TaylorS คุณพูดถูกฉันได้อัปเดตคำตอบแล้วขอบคุณ
CONvid19



6

เฉพาะหน้านี้โหลดซ้ำจริงๆ (วันนี้)

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

คนอื่นไม่ได้โหลดซ้ำ พวกเขาเก็บค่าไว้ในกล่องข้อความ


คุณช่วยอธิบายได้ไหมว่าคุณหมายถึงอะไร: " เฉพาะหน้าที่โหลดซ้ำจริงๆ (วันนี้) "
CONvid19

"วันนี้" หมายถึงวันที่ฉันเขียนมัน (เพราะทุกวันมีการเปลี่ยนแปลง) "เพียงเท่านี้" เกี่ยวข้องกับคำตอบที่ให้ไว้ข้างต้นโดย Pedro Lobito
ilias iliadis

2
คำตอบทั้งหมดใน SO เป็น " ณ วันนี้ " และอาจได้รับการอัปเดตหากมีอะไรเปลี่ยนแปลงนั่นคือธรรมชาติของเกือบทุกอย่างในชีวิตไม่ใช่แค่คำตอบเท่านั้น
CONvid19



4

ฉันสังเกตว่าคำตอบทั้งหมดที่นี่ใช้แบบอินไลน์ onClickตัวจัดการโดยทั่วไปแนะนำให้แยก HTML และ Javascript ออกจากกัน

นี่คือคำตอบที่เพิ่มListener เหตุการณ์การคลิกลงในปุ่มโดยตรง เมื่อคลิกจะเรียกlocation.reloadซึ่งทำให้หน้าโหลดซ้ำด้วย 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">


3

เพียงสร้างการอ้างอิงว่างบนลิงค์ดังต่อไปนี้

 <a href="" onclick="dummy(0);return false;" >

1

ใช้สิ่งนี้มันทำงานได้ดีสำหรับฉันในการโหลดหน้าเดิมซ้ำ:

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

1

แม้ว่าคำถามจะมีไว้สำหรับbuttonแต่หากใครต้องการรีเฟรชหน้าโดยใช้<a>คุณสามารถทำได้ง่ายๆ

<a href="./">Reload</a>

1
<button onClick="window.location.reload();">Reload</button>

หรือคุณยังสามารถใช้

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

หมายเหตุ: เปลี่ยน"<same page link>"ด้วย url ของหน้าที่คุณต้องการโหลดซ้ำ ตัวอย่างเช่น: <form action="home.html> method="GET">


-1

หากคุณกำลังมองหาการรีเซ็ตแบบฟอร์ม:

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

หรือเพื่อรีเซ็ตลักษณะอื่น ๆ ของแบบฟอร์มที่เบราว์เซอร์ไม่ได้จัดการ

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

ใช้ jQuery

function doFormReset(){
    $(".invalid").removeClass("invalid");
}

-5
window.opener.location.href ='workItem.adm?wiId='+${param.wiId};

จะไปยังเส้นทางที่กำหนดและคุณจะไม่ได้รับการแจ้งเตือนอีกครั้ง

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.