10/10/2018, 11:02
Giúp mình thực hiện ý tưởng javascript này
Hi.
Mình đang có nhu cầu làm 1 ứng dụng web, trên trang web có 1 đoạn văn bản và 1 textarea, người dùng phải nhập lại chính xác đoạn văn bản vào textarea, và yêu cầu của mình như sau:
- Không thực hiện được việc copy - paste từ đoạn văn bản vào textarea, cái này mục đích là bắt buộc hõ phải gõ vào textarea
- Bắt buộc phải gõ chính xác theo đoạn văn bản, ví dụ nếu gõ sai thì ko thể gõ tiếp được, phải sửa lại cho đúng thì mới gõ tiếp được đoạn sau.
Ý tưởng là vậy, mong các pac giúp đỡ.
Thanks
Mình đang có nhu cầu làm 1 ứng dụng web, trên trang web có 1 đoạn văn bản và 1 textarea, người dùng phải nhập lại chính xác đoạn văn bản vào textarea, và yêu cầu của mình như sau:
- Không thực hiện được việc copy - paste từ đoạn văn bản vào textarea, cái này mục đích là bắt buộc hõ phải gõ vào textarea
- Bắt buộc phải gõ chính xác theo đoạn văn bản, ví dụ nếu gõ sai thì ko thể gõ tiếp được, phải sửa lại cho đúng thì mới gõ tiếp được đoạn sau.
Ý tưởng là vậy, mong các pac giúp đỡ.
Thanks
Bài liên quan
Xem xét yêu cầu thứ nhất, cấm paste, hãy tự hỏi làm thế nào nhận biết có 1 nội dung vừa được paste xuống textarea :
- có 1 sự kiện nào gọi là onpaste phát sinh khi paste tương tự như onclick phát sinh khi click không? Thử google từ khóa "javascript onpaste event".
- nếu 1 trình duyệt không hỗ trợ onpaste thì giải quyết thế nào? Có thể dùng 1 setTimeout liên tục theo dõi nội dung trong textarea và so sánh nó mỗi lúc để nắm bắt những thay đổi khác với khi gõ từng chữ thông thường không ?
Bạn có thể tạm hài lòng với onpaste và câu hỏi thứ hai để lại sau xử lý nâng cao cũng được. Cứ giải quyết xong yêu cầu thứ nhất, rồi sang đến phần kiểm tra so sánh nội dung. Gợi ý là dùng onkeyup, onkeypress. Nội dung là đúng nếu chuỗi trong textarea là là 1 phần trong đoạn văn bản có sẵn, tính từ ký tự đầu tiên. Đơn giản thế thôi
có thể may ra nó ko cho user tương tác với div chứa text.
cái 2 thì khó .
đây là 1 trang dùng kỹ thuật tương tự nè và cũng rất nổi tiếng đó
Đua xe đánh chữ 1 trò chơi khá hay đó mà ... chơi thử đi
http://play.typeracer.com/
Để chống copy dán
<body onpaste="return false";>
<body oncopy="return false";>
Giải quyết vấn đề đoạn văn : Nên tách bài viết ra nhiều đoạn với ID khác nhau rồi so sánh, nếu để nguyên cả bài viết rồi so sánh textarea với đoạn văn mình nghĩ hơi khó.
http://play.typeracer.com/?universe=lang_vi