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,037

HOME > PHP > PHP Forum > สอบถามวิธีการเขียน onclick ส่งค่าเเบบ append ไปยังอีก page ครับ



 

สอบถามวิธีการเขียน onclick ส่งค่าเเบบ append ไปยังอีก page ครับ

 



Topic : 135620



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



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




อยากทราบวิธีการเขียน script เพิ่มเติม ให้มีการส่งค่าจากการ append ไปเเสดงยังอีกหน้า เพจ หน่อยครับ พอจะมีวิธีไหนเเนะนำ บ้างไหมครับ

ปุ่มกด

Code (PHP)
<li class="nav"> 
    <a class="nav-link" onclick="divname(<?php echo $v['id']; ?>); "><i class="fas fa-name"></i> detail</a>
</li>


script

Code (PHP)
function divname(data) {
        var txt = '';
        for (var i = 0; i < data.length; i++) {
            var txt = '<div class="">' + data.name + ' </div>';
        }
        $("#name").append(txt);
    }


ส่วนที่จะใช้เเสดงข้อมูลอีกหน้า

Code (PHP)
<div class="" id="name"></div>




Tag : PHP, JavaScript, Ajax, jQuery







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2020-10-10 23:09:27 By : Antineww View : 791 Reply : 9
 

 

No. 1



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



สถานะออฟไลน์
Twitter Facebook Blogger

ส่ง (JavaScript)
function toBinary(string) {
  const codeUnits = new Uint16Array(string.length);
  for (let i = 0; i < codeUnits.length; i++) {
    codeUnits = string.charCodeAt(i);
  }
  return String.fromCharCode(...new Uint8Array(codeUnits.buffer));
}

function divname(data) {
    var txt = '';
    for (var i = 0; i < data.length; i++) {
        var txt = '<div class="">' + data.name + ' </div>';
    }
    var converted = toBinary(txt);
    var encoded = btoa(converted);
    location.assign("https://www.yourweb.com/page2.php?append=" + encoded);
}


รับ (PHP)
<body>

<script>
function fromBinary(binary) {
  const bytes = new Uint8Array(binary.length);
  for (let i = 0; i < bytes.length; i++) {
    bytes[i] = binary.charCodeAt(i);
  }
  return String.fromCharCode(...new Uint16Array(bytes.buffer));
}
</script>

//...
  
<?php
$append = isset($_GET['append']) ? $_GET['append'] : '';
$append = base64_decode($append);
$append = "<script>var x=fromBinary('" . $append . "');document.write(x);</script>";
?>
<div id="newcontent">
    <?php echo $append;?>
</div>




[i]ตัวอย่างไม่ support IE







แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2020-10-11 15:23:44 By : PhrayaDev
 


 

No. 2



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



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


ตอบความคิดเห็นที่ : 1 เขียนโดย : PhrayaDev เมื่อวันที่ 2020-10-11 15:23:44
รายละเอียดของการตอบ ::
รบกวนพี่อธิบายส่วนของ function toBinary กับ function fromBinary หน่อยครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2020-10-11 20:38:54 By : Antineww
 

 

No. 3



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



สถานะออฟไลน์
Twitter Facebook Blogger

Quote:
ASCII เก็บ 1 byte / ตัวอักษร
Unicode เก็บ 2 bytes / ตัวอักษร


btoa() คือ ฟังก์ชันแปลง ASCII string เป็น Base64
แต่จะมีปัญหาในเรื่องการรับส่ง Unicode String เช่น อักขระภาษาไทย
จึงต้องบีบอัด Unicode ให้อยู่ในรูป ASCII ก่อน...
ขั้นตอนนี้จึงต้องพึ่งฟังก์ชัน toBinary() หรือกล่าวคือ
ฟังก์ชัน toBinary() ทำหน้าที่แปลงอักษร 2 bytes -> 1 byte
https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/btoa

เมื่อมี btoa() ก็ต้องมี atob() เพื่อถอด Base64 กลับเป็น ASCII String
https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/atob
(แต่ในตัวอย่างผมตั้งใจใช้ base64_decode() ของ PHP เพื่อบอกให้รู้ว่าสามารถใช้แทนกันได้กับ atob() ของ JS)

และในทำนองเดียวกันก่อนแสดงผลต้องขยายการเข้ารหัสของอักขระ
จาก ASCII(1 byte) -> Unicode(2 bytes) ก่อนเช่นกัน
ซึ่งตัวที่ทำหน้าที่นี้ ก็คือ ฟังชัน fromBinary()

Quote:

ขั้นตอนการ encode

Unicode String(2 bytes) -> 1 byte -> Base64

ขั้นตอนการ decode
Base64 -> 1 byte -> Unicode String(2 bytes)




นอกจากจะรับส่งข้อมูลแบบ Binary(Base64) ยังมี text, json, ...etc.
หรือแม้กระทั่ง Custom Data Interchange (ออกแบบการเข้า/ถอดรหัสข้อมูลเอง)

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2020-10-11 21:13:14 By : PhrayaDev
 


 

No. 4



โพสกระทู้ ( 4,756 )
บทความ ( 8 )



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


ใช้ ajax method get กับ encodeURIComponent() https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/encodeURIComponent ธรรมดาๆก็ได้ ถ้าข้อมูลไม่เยอะและไม่ลับอะไร

ถ้าข้อมูลเยอะๆก็ส่งผ่าน method post

การรับใน php ก็รับผ่าน $_GET, $_POST เอา
หรือจะใช้ js รับ querystring (method get) ก็ได้ https://stackoverflow.com/questions/901115/how-can-i-get-query-string-values-in-javascript

มันจะได้ง่ายหน่อย
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2020-10-12 09:10:21 By : mr.v
 


 

No. 5



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



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


ตอบความคิดเห็นที่ : 4 เขียนโดย : mr.v เมื่อวันที่ 2020-10-12 09:10:21
รายละเอียดของการตอบ ::
ข้อมูลค่อนข้างเยอะอยู่ครับ ข้อมูลดึงจาก api ปกติ ผมจะใช้ส่งเเบบ GET ไป เเล้วตัวที่รับก็รับค่า get ที่ส่งมา เเล้วไป json_decode เพื่อ foreach ค่าออกมา ทำให้มันใช้ทรัพยากรของ server อย่างหนักเลยครับ เลยอยากจะเปลี่ยนรูปเเบบการรับส่ง ใหม่ เพื่อให้มันเร็วขึ้น พอจะมีวิธีไหนเเนะบ้างหรือเปล้่าครับ หรือทำเเบบ พี่ NO.1

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2020-10-12 10:24:34 By : Antineww
 


 

No. 6



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



สถานะออฟไลน์
Twitter Facebook Blogger

ดึงจาก api ก็ดึงแยกเป็นหน้าไปเลยครับ ไม่ต้องตุนไว้หน้าเดียวแล้วส่งข้อมูลข้ามแบบนี้
ถ้าอยากตุนและข้ามเพจเหมือนเดิม ใช้ PHP session หรือ บันทึกลงฐานข้อมูล
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2020-10-12 11:55:50 By : PhrayaDev
 


 

No. 7



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



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


ตอบความคิดเห็นที่ : 6 เขียนโดย : PhrayaDev เมื่อวันที่ 2020-10-12 11:55:50
รายละเอียดของการตอบ ::
ส่งแบบ session น่าสนใจครับ ขอบคุณครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2020-10-12 12:08:13 By : Antineww
 


 

No. 8



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



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


ตอบความคิดเห็นที่ : 6 เขียนโดย : PhrayaDev เมื่อวันที่ 2020-10-12 11:55:50
รายละเอียดของการตอบ ::
ถ้าต้องการจะส่งแบบ session ผมจะต้องเอาข้อมูลที่ต้องการจะไปเเสดงยังอีกหน้า เพจ มาประเกศเก็บเข้าไปในตัวเเปร ทั้งหมดเลยใช่ไหมครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2020-10-12 12:12:52 By : Antineww
 


 

No. 9



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



สถานะออฟไลน์
Twitter Facebook Blogger

ตอบความคิดเห็นที่ : 8 เขียนโดย : Antineww เมื่อวันที่ 2020-10-12 12:12:52
รายละเอียดของการตอบ ::
ใช่ครับ จะแยกส่วนหรือมัดรวม ก็ตามที่เราชอบครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2020-10-12 13:04:49 By : PhrayaDev
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : สอบถามวิธีการเขียน onclick ส่งค่าเเบบ append ไปยังอีก page ครับ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ 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 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

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