Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,038

HOME > PHP > PHP Forum > ไม่ให้แสดง Modal อีก เมื่อเราติ๊ก Checkbox ทำอย่างไรครับ


[PHP] ไม่ให้แสดง Modal อีก เมื่อเราติ๊ก Checkbox ทำอย่างไรครับ

 
Topic : 136959



โพสกระทู้ ( 29 )
บทความ ( 0 )



สถานะออฟไลน์



modal

Code (PHP)
01.<div class="modal fade" id="myModal">
02.  <div class="modal-dialog modal-dialog-centered modal-lg">
03.    <div class="modal-content">
04. 
05.      <!-- Modal Header -->
06.      <div class="modal-header">
07.        <h4 class="modal-title">Topic</h4>
08.        
09.      </div>
10. 
11.      <!-- Modal body -->
12.      <div class="modal-body">
13.        เนื้อหา
14.         
15.      </div>
16. 
17.      <!-- Modal footer -->
18.      <div class="modal-footer">
19.        <div class="checkbox pull-right">
20.             
21.            <input type="checkbox" id="myCheck">
22.            <label class="mr-3 my-auto" for="myCheck">ไม่ต้องแสดงอีกในวันนี้</label>            
23.        </div>
24.        <button type="button" class="btn btn-danger" data-bs-dismiss="modal" >Close</button>
25.      </div>
26.    </div>
27.  </div>
28.</div>
29. 
30.<script type="text/javascript">
31.    $(window).on('load', function() {
32.        $('#myModal').modal('show');
33.    });
34.</script>




Tag : PHP, CSS, HTML5, jQuery



ประวัติการแก้ไข
2023-03-01 09:38:13
2023-03-01 09:38:58
2023-03-01 09:46:34
Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2023-03-01 09:37:12 By : cs013 View : 596 Reply : 5
 

 
change event ของ checkbox
01.// not-show-today คือ id ของ checkbox
02.$('#not-show-today').on('change', function() {
03.  if ($(this).is(':checked')) {
04.    var today = new Date().toISOString().slice(0, 10);
05.    localStorage.setItem('notShowToday', true);
06.    localStorage.setItem('notShowDate', today);
07.  } else {
08.    localStorage.removeItem('notShowToday');
09.    localStorage.removeItem('notShowDate');
10.  }
11.});


ใช้ localStorage เก็บวันและสถานะของ checkbox
01.$(document).ready(function() {
02.  var notShowToday = localStorage.getItem('notShowToday');
03.  var notShowDate = localStorage.getItem('notShowDate');
04.  var today = new Date().toISOString().slice(0, 10);
05.   
06.  if (notShowToday && notShowDate === today) {
07.    // เมื่อไม่แสดง modal ให้ทำอะไร
08.  } else {
09.    // วาง code การแสดง modal
10. 
11.    localStorage.removeItem('notShowToday');
12.    localStorage.removeItem('notShowDate');
13.  }
14.});


ลองศึกษา ต่อยอด ดูครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2023-03-01 11:39:04 By : 009
 

 

No. 2



โพสกระทู้ ( 29 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 1 เขียนโดย : 009 เมื่อวันที่ 2023-03-01 11:39:04
รายละเอียดของการตอบ ::
ถ้าแค่ต้องการไม่ให้แสดง modal อีกจนกว่าจะปิดเปิดหน้าเว็บใหม่ละครับ ไม่ต้องให้ถึงวันก็ได้ครับ

ลองศึกษาแล้ว ก็ยังทำไม่ได้เลยครับ
รบกวนอีกครั้งครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2023-03-01 13:16:12 By : cs013
 

 

No. 3



โพสกระทู้ ( 29 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 2 เขียนโดย : cs013 เมื่อวันที่ 2023-03-01 13:16:12
รายละเอียดของการตอบ ::
ถ้าแบบ เมื่อ ติ๊ก checkbox ให้มันเก็บค่าลงในตัวแปร $_SEESION[ ] เลยได้ไหมครับ
ผมไปศึกษาแล้วมันมีคำสั่ง sessionStorage แต่ยังเอามันไปใช้นอกฟังก์ชั่นไม่ได้อะครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2023-03-01 13:27:44 By : cs013
 

 
ตอบความคิดเห็นที่ : 2 เขียนโดย : cs013 เมื่อวันที่ 2023-03-01 13:16:12
รายละเอียดของการตอบ ::
แบบนั้นซับซ้อน ไม่แนะนำ เพราะต้องเสียเวลา track user เมื่อไรเปิดเว็บอื่นหรือไม่
ที่ใกล้เคียงสุด คือ when user closing browser ไม่ใช่ closing website
ซึ่งก็ยังต้องพึ่ง cookie อยู่ดี


ตอบความคิดเห็นที่ : 3 เขียนโดย : cs013 เมื่อวันที่ 2023-03-01 13:27:44
รายละเอียดของการตอบ ::
ใช้นอกฟังก์ชันคืออะไร หมายถึงการรับส่งข้อมูลระหว่าง JS <-> PHP ?
ก่อนอื่นต้องแยกแยะระหว่าง client-server side
localStorage ด้านบน implement ฝั่ง client

ส่วนตัวอย่างล่างนี้ทำใน PHP

$_SESSION (เมื่อคลิก checkbox)
1.if (isset($_POST['notShowToday'])) {
2.  $_SESSION['notShowToday'] = date('Y-m-d');
3.}


$_SESSION (สำหรับตรวจสอบ)
01.<?php
02.session_start();
03.if (isset($_SESSION['notShowToday']) && $_SESSION['notShowToday'] === date('Y-m-d')) {
04.  // ไม่แสดง modal popup
05.} else {
06.  // แสดง modal popup
07. 
08.  $_SESSION['notShowToday'] = date('Y-m-d');
09.}
10.?>





หรือ ใช้ cookie

ตอนติ๊ก checkbox
1.if (isset($_POST['notShowToday'])) {
2.  $expireTime = time() + (60 * 60 * 24); // หมดอายุ 24 ชม.
3.  setcookie('notShowToday', date('Y-m-d'), $expireTime);
4.}


ตอนเช็ค cookie
01.<?php
02.if (isset($_COOKIE['notShowToday']) && $_COOKIE['notShowToday'] === date('Y-m-d')) {
03.  // ไม่มี modal popup
04.} else {
05.  // ถ้ามี modal ถัดจากบรรทัดคอมเม้นต์นี้ใส่โค้ดเพิ่มเองเพื่อให้มันโชว์
06. 
07.  $expireTime = time() + (60 * 60 * 24); // 24 ชม.
08.  setcookie('notShowToday', date('Y-m-d'), $expireTime);
09.}
10.?>





Quote:
ตัวอย่างที่ผมให้ไว้จะไม่ทำงานเมื่อทำการคัดลอกวางอย่างเดียว
แต่ต้อง implement ส่วนที่ขาดหายไปตามแวดล้อมของต้นก่อน
และก่อนนั้นต้องมีพื้นฐานเรื่อง client-server side
ไม่งั้น ตัวอย่างเหล่านี้ก็ไม่ต่างอะไรจากข้อความธรรมดา

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2023-03-01 15:03:13 By : 009
 

 
cookie
ทำงานได้ทั้ง Front End และ Back End
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2023-03-01 15:51:44 By : Guest
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : ไม่ให้แสดง Modal อีก เมื่อเราติ๊ก Checkbox ทำอย่างไรครับ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)





ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2025 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่