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 > ขอแนวคิดเกี่ยวกับการ copy to clipboard แบบ onload หน่อยครับ พอดีผมลองทำตามความคิดตัวเองแล้วไม่ได้ผล



 

ขอแนวคิดเกี่ยวกับการ copy to clipboard แบบ onload หน่อยครับ พอดีผมลองทำตามความคิดตัวเองแล้วไม่ได้ผล

 



Topic : 125230



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



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



เริ่มที่ สมมติว่าผมเขียน input,textarea,select ให้รับค่า และส่งค่าต่างๆไปยังฐานข้อมูล
จาก page1 ส่งค่าไป page_query เมื่อบันทึกแล้ว ให้เด้งมาที่หน้า page2 เพื่อแสดงผลที่ได้บันทึกไว้

สิ่งที่ต้องการคือ ในช่วง process จาก page1 ไปถึง page2 ให้มีการคัดลอกข้อความในทันที สามารถกด Ctrl+V เพื่อวางข้อมูลนั้นได้เลย

เช่น ส่งค่า ชื่อ-สกุล เข้าไปเก็บในฐานข้อมูล
พอเด้งมาอีกหน้าก็กดวาง ข้อความที่คัดลอกมาคือ ชื่อ........... นามสกุล............

ปัจจุบันที่ทำได้คือ ส่งค่าจาก page1 ไปยัง page_query และกด ปุ่ม copy จากหน้า page_query และเด้งไปที่หน้า page2 จึงนำข้อความมาวางได้

พอจะมีหนทางไหนบ้างไหมครับ ผมลองใช้

#btncopy เมื่อกดสามารถ copy ได้อยู่แล้ว จึงเขียน script

$(document).ready (function()
{
$('#btncopy').click();
});

เพื่อให้เมื่อมันมาถึงหน้า page_query แล้วมันจะ click ที่ ปุ่ม btncopy อัตโนมัติ แล้วมันจะเด้งมาหน้า page2

ส่วน #btncopy ผมได้เขียนโค้ดไว้ว่าถ้ามันถูกคลิก ก็จะเด้งไปที่หน้า page2

แต่มันก็ไม่ได้ผล ปรากฏว่า พอกดส่งค่า มันก็มาค้างอยู่ที่หน้า page_query รอให้ผมกด ปุ่ม copy มันถึงจะเด้งไปหน้า page2 อยู่ดี



Tag : PHP, HTML/CSS, JavaScript









ประวัติการแก้ไข
2016-11-03 14:40:01
Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2016-11-03 14:32:17 By : Pla2todkrob View : 2958 Reply : 15
 

 

No. 1



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

Hall of Fame 2012

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


ถ้าปกติ
Page 1 : Form
Page 2 : Insert and select ค่าล่าสุด จาก insert_id(); ส่งค่าไปหน้าที่ 2 ได้เลยนะครับ

ปล.ผมเป็นคนเข้าใจยากนิดนึงครับถ้าคำถามไม่เครีย -.-"






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-11-03 14:51:10 By : dudesaranyu
 


 

No. 2

Guest


Code (PHP)
<?php
$exp = time() + 300;
setcookie('name','noMerzy',$exp);
?>
 <!DOCTYPE html>
 <html>
   <head>
     <meta charset="utf-8">
     <title></title>
   </head>
   <body>
     <input type="text" name="name" id="name" value="">
     <script>
      var name = "<?= $_COOKIE['name'] ?>";
      document.getElementById('name').addEventListener('keydown', presskey);
      document.getElementById('name').addEventListener('keyup', keyup);
      var ctrl = false;
      var v = false;
      function presskey(e){
        if ((e.keyCode == 17) && (ctrl == false)) {
          e.preventDefault();
          ctrl = true;
        }
        if ((e.keyCode == 86) && (v == false)) {
          e.preventDefault();
          v = true;
        }
        ctrlv();
      }
      function keyup(){
          ctrl = false;
          v = false;
      }
      function ctrlv(event){
        if(ctrl && v){
          ctrl = false;
          v = false;
          document.getElementById('name').value += name;
        }
      }
     </script>
   </body>
 </html>


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-11-03 19:23:34 By : [email protected]
 

 

No. 3



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



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

ตอบความคิดเห็นที่ : 1 เขียนโดย : dudesaranyu เมื่อวันที่ 2016-11-03 14:51:10
รายละเอียดของการตอบ ::
เรื่องรับค่า-ส่งค่า ไม่มีปัญหาครับ ปัญหาคือ ทำยังไง เมื่อส่งค่าแล้ว จากนั้นรับค่ามาเก็บไว้ที่ Ctrl+C

แบบว่า กด submit จากนั้นไม่ต้องทำอะไรเลย กด Ctrl+V วางข้อมูลที่เก็บไว้ไปที่ Notepad ได้เลย ประมาณเนี้ยครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-11-04 09:22:14 By : Pla2todkrob
 


 

No. 4



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



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

ตอบความคิดเห็นที่ : 2 เขียนโดย : [email protected] เมื่อวันที่ 2016-11-03 19:23:34
รายละเอียดของการตอบ ::
ขอบคุณสำหรับแนวคิดนะครับ

แต่ที่ผมจะทำมันประมาณ จดหมายเวียนอ่าครับ รับค่า ชื่อ-สกุล ที่อยู่ วันที่ บราบราบรา ในหน้า page1 แล้วก็บันทึกลงฐานข้อมูล แล้วก็ query ออกมาเป็นประโยคซัก 3-5 บรรทัด แล้วก็แสดงในหน้า page2 แล้วเราก็กด Ctrl+V วางข้อความลงใน Notepad ได้เลย ไม่ต้องคลุมดำ เพื่อ Copy เพราะให้ระบบทำการ Copy มาให้เลย

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-11-04 09:36:31 By : Pla2todkrob
 


 

No. 5



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



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

ภาพประกอบครับ
เริ่มจาก page 1
1

กรอกข้อมูล กด Next
2

หน้า page_query บันทึกลงฐานข้อมูลเรียบร้อยแล้ว และดึงข้อมูลออกมาแสดง เป็นเป็นประโยค
3

หลังจากกด ปุ่ม Copy ก็จะทำการ Copy ข้อความนั้นไว้แล้วเด้งมาที่หน้า page2
4

กด Ctrl+V ที่ Notepad ก็จะวางข้อความที่ Copy มา
6

โจทย์คือ หลังจากกด Next แล้ว ทำยังไงให้ไม่ต้องกด ปุ่ม copy แต่ให้มัน copy อัตโนมัติ แล้วเด้งมาที่หน้า page2 เลย

ใครมีแนวคิดแจ่มๆบอกด้วยนะครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-11-04 09:51:43 By : Pla2todkrob
 


 

No. 6



โพสกระทู้ ( 9,586 )
บทความ ( 2 )



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


Code (JavaScript)
var copyTextareaBtn = document.querySelector('.js-textareacopybtn');

copyTextareaBtn.addEventListener('click', function(event) {
  var copyTextarea = document.querySelector('.js-copytextarea');
  copyTextarea.select();

  try {
    var successful = document.execCommand('copy');
    var msg = successful ? 'successful' : 'unsuccessful';
    console.log('Copying text command was ' + msg);
  } catch (err) {
    console.log('Oops, unable to copy');
  }
});

<p>
  <textarea class="js-copytextarea">Hello I'm some text</textarea>
</p>

<p>
  <button class="js-textareacopybtn">Copy Textarea</button>
</p>

http://stackoverflow.com/questions/400212/how-do-i-copy-to-the-clipboard-in-javascript
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-11-04 09:56:58 By : Chaidhanan
 


 

No. 7



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



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

ตอบความคิดเห็นที่ : 6 เขียนโดย : Chaidhanan เมื่อวันที่ 2016-11-04 09:56:58
รายละเอียดของการตอบ ::
ขอบคุณครับ แนวคิดคล้ายๆกับที่ผมทำอยู่เลยครับ แต่อันนี้มันต้องกด ปุ่ม button เพื่อ copy นี่ครับ
พอจะดัดแปลงเป็นแบบ onload ได้หรือเปล่าครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-11-04 10:03:17 By : Pla2todkrob
 


 

No. 8



โพสกระทู้ ( 9,586 )
บทความ ( 2 )



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


ดัดแปลงได้ครับ
onload เรียก function ได้ใช่้ไหม
คุณก็เขียน ให้เรียกใช้ function ของปุ่มคลิก สิครับ

ปล. คลิก ก็เป็น event เรียกใช้ function เหมือน onload


ประวัติการแก้ไข
2016-11-04 10:10:33
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-11-04 10:07:37 By : Chaidhanan
 


 

No. 9



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



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

ตอบความคิดเห็นที่ : 8 เขียนโดย : Chaidhanan เมื่อวันที่ 2016-11-04 10:07:37
รายละเอียดของการตอบ ::
Code (PHP)
var copyTextareaBtn = document.querySelector('.js-textareacopybtn');

copyTextareaBtn.addEventListener('onload', function(event) {
  var copyTextarea = document.querySelector('.js-copytextarea');
  copyTextarea.select();

  try {
    var successful = document.execCommand('copy');
    var msg = successful ? 'successful' : 'unsuccessful';
    console.log('Copying text command was ' + msg);
  } catch (err) {
    console.log('Oops, unable to copy');
  }
});

<p>
  <textarea class="js-copytextarea">Hello I'm some text</textarea>
</p>

<p>
  <button class="js-textareacopybtn">Copy Textarea</button>
</p>

แบบนี้หรอครับ
หรือเขียน function ให้มันคลิก ปุ่มเมื่อ onload หรอครับ
หรือ <body onload="copy()"> แบบนี้เลย



ประวัติการแก้ไข
2016-11-04 10:45:08
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-11-04 10:15:48 By : Pla2todkrob
 


 

No. 10



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



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

ตอบความคิดเห็นที่ : 8 เขียนโดย : Chaidhanan เมื่อวันที่ 2016-11-04 10:07:37
รายละเอียดของการตอบ ::
อันนี้เป็นชุดคำสั่งที่ผมใช้อยู่ครับ
Code (PHP)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
			<script>
(function() {

    'use strict';
  
  // click events
  document.body.addEventListener('click', copy, true);

    // event handler
    function copy(e) {

    // find target element
    var 
      t = e.target,
      c = t.dataset.copytarget,
      inp = (c ? document.querySelector(c) : null);
      
    // is element selectable?
    if (inp && inp.select) {
      
      // select text
      inp.select();

      try {
        // copy text
        document.execCommand('copy');
        inp.blur();
        
        // copied animation
        t.classList.add('copied');
        setTimeout(function() { t.classList.remove('copied'); }, 1500);
      }
      catch (err) {
        alert('please press Ctrl/Cmd+C to copy');
      }
      
    }
    
    }

})();
</script>
			<input type="button" data-copytarget="#box-content" value="Copy" id="btncopy" name="btncopy"/>
			<textarea  name="box-content" id="box-content"><?php echo $script ?></textarea>
			
			<script>
			$(document).ready(function(){
				$('#btncopy').click(function(){
					window.location='../saleopen.php';
				});
			});
				
</script>




ประวัติการแก้ไข
2016-11-04 10:39:39
2016-11-04 10:39:44
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-11-04 10:38:18 By : Pla2todkrob
 


 

No. 11

Guest


รู้สึกคำสั่ง document.execCommand() จะทำงานเมื่อผู้ใช้กดคลิ๊กที่อิลิเมนต์เท่านั้นครับ(onclick) ไม่สามารถใช้สคริปเรียกได้
ที่ทำได้ดีที่สุดคงจะเป็นให้ออโต้โฟกัสที่ปุ่มแล้วกด enter เลย ไม่ต้องลากเมาส์ไปคลิ๊ก

Code (PHP)
  <textarea id='area1'>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</textarea>
    <button id="btn1" onclick="copy()">Copy</button>
    <script>
    document.getElementById('btn1').focus();
    function copy(){
      document.getElementById('area1').select();
      document.execCommand('copy');
    }

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-11-04 11:01:34 By : [email protected]
 


 

No. 12



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



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

ตอบความคิดเห็นที่ : 11 เขียนโดย : [email protected] เมื่อวันที่ 2016-11-04 11:01:34
รายละเอียดของการตอบ ::
หมายความว่า ถ้าจะ copy ก็มีแต่จะต้อง click เท่านั้นใช่ไหมครับ

ถ้าเป็นอย่างนั้นพอจะมีแนวทางอื่นบ้างไหมครับ โจทย์คือทำยังไงก็ได้หลังจากกด Next แล้วไม่ต้องกดปุ่ม แต่ก็ copy ให้อัตโนมัติ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-11-04 11:05:46 By : Pla2todkrob
 


 

No. 13



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

สมาชิกที่ใส่เสื้อไทยครีเอท Hall of Fame 2012

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


พยายามช่วยหานะ แต่ยังไม่เจอ!!
- ถ้าปรับเป็น คิวรี่ค่าไปใส่ หรือ เก็บเป็น cookie, session พอไปอีกหน้าก็ให้มันแสดง auto ใจจุดที่ต้องการ แนวคิดนี้ผ่านไหมครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-11-04 11:42:42 By : apisitp
 


 

No. 14



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



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

ตอบความคิดเห็นที่ : 13 เขียนโดย : apisitp เมื่อวันที่ 2016-11-04 11:42:42
รายละเอียดของการตอบ ::
ขอบคุณสำหรับแนวคิดดีๆครับพี่

แต่ว่ายังไม่ตอบโจทย์อ่าครับ
อาจารย์เค้าอยากให้หน้าที่แสดง แสดงผลน้อยที่สุดอย่างที่ภาพตัวอย่าง และสามารถนำชุดข้อความไปแปะไว้ที่อื่นได้ เช่น Facebook line หรืออื่นๆ ที่สามารถพิมพ์ข้อความได้ เพราะถ้ามีการ insert มาอีกมันก็จะเป็นตารางลงมาเรื่อยๆ
4
แล้วข้อความที่ต้องการก็คือชุดนี้
3
องค์ประกอบที่เปลี่ยนแปลงไปในข้อความ ขึ้นอยู่กับข้อมูลที่กรอกและดึงมาแปะไว้ อ่าครับ
2


อาจจะปวดหัวนิดนึง แต่ผมก็อยากทำให้มันได้ครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-11-04 11:59:58 By : Pla2todkrob
 


 

No. 15



โพสกระทู้ ( 9,586 )
บทความ ( 2 )



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


ตามความเห็น 11 เลยครับ ต้องใช้ event click

ก็เอาใช้ช่วยให้หาเจอ แล้วนำมาแบ่งปันกันบ้างนะครับ(ถ้าหาเจอ)
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-11-04 15:15:12 By : Chaidhanan
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : ขอแนวคิดเกี่ยวกับการ copy to clipboard แบบ onload หน่อยครับ พอดีผมลองทำตามความคิดตัวเองแล้วไม่ได้ผล
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ 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 05
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 อัตราราคา คลิกที่นี่