Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Javascript

หยุดสร้างแบบฟอร์มเพื่อโหลดหน้าซ้ำใน JavaScript


สมมติว่าสิ่งที่เราต้องบรรลุคือเมื่อผู้ใช้ส่งแบบฟอร์ม HTML นี้ เราจัดการเหตุการณ์ส่งในฝั่งไคลเอ็นต์และป้องกันไม่ให้เบราว์เซอร์โหลดซ้ำทันทีที่ส่งแบบฟอร์ม

รูปแบบ HTML

<form name="formcontact1" action="#">
<input
type='text'
name='email'
size="36"
placeholder="Your e-mail :)"/>
<input
   type="submit"
   name="submit"
   value="SUBMIT"
   onclick="ValidateEmail(document.formcontact1.email)"
/>
</form>

วิธีที่ง่ายและน่าเชื่อถือที่สุดคือการปรับฟังก์ชัน ValidateEmail() ของเราให้รวมบรรทัดต่อไปนี้ไว้ที่ด้านบนสุดของคำจำกัดความ -

function ValidateEmail(event, inputText){
   event.preventDefault();
   //remaining function logic goes here
}

ป้องกันค่าเริ่มต้น () อะไรทำคือการบอกให้เบราว์เซอร์ป้องกันพฤติกรรมเริ่มต้นและปล่อยให้เราจัดการเหตุการณ์ที่ส่งแบบฟอร์มในฝั่งไคลเอ็นต์เอง

รหัส HTML แบบเต็มสำหรับสิ่งนี้คือ −

ตัวอย่าง

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<form name="formcontact1" action="#">
<input
type='text'
name='email'
size="36"
placeholder="Your e-mail :)"/>
<input
   type="submit"
   name="submit"
   value="SUBMIT"
   onclick="ValidateEmail(document.formcontact1.email)"
/>
</form>
<script>
{
   function ValidateEmail(event, inputText){
      event.preventDefault();
      //remaining function logic goes here
   }
}
</script>
</body>
</html>