01/10/2018, 11:36

Liệu có cách nào có thể inject dữ liệu vào biến sau khi js validate xong

Mình đang gặp khó khăn khi muốn gửi submit.

>  recaptchaVerified: function(w) {
>                         this.form.recaptcha = w
>                     },
>                     recaptchaExpired: function() {
>                         this.form.recaptcha = null
>                     },
>                     loginWithPassword: function() {
>                         var w = this;
>                         if (!this.submitting) {
>                             if (this.error = "",
>                             this.submitting = !0,
>                             !this.form.email || !this.form.password || !this.form.recaptcha)
>                                 return this.error = "you_need_to_fill_all_the_fields",
>                                 void (this.submitting = !1);
>                             var x = this.checkEmailCanJoinRole();
>                             return x.allowed ? void Meteor.loginWithPassword({
>                                 email: this.form.email
>                             }, this.form.password, function(y, z) {
>                                 return y ? (w.handleResponse(y, z),
>                                 void console.error("LoginWithPassword Error:", y)) : void o({
>                                     isLogin: !0,
>                                     role_id: w.loginRole._id
>                                 }, w.handleResponse)
>                             }) : (this.error = "Your email address is not allowed to Login here.",
>                             this.submitting = !1,
>                             void (x.details.role_slug && (this.suggestedRoleSlug = x.details.role_slug)))
>                         }
>                     }

Khi mình click submit là nó sẽ set token vào this.form.recaptcha. giờ mình muốn inject vào nó thì làm sao đây ạ

Nguyễn Hoàng viết 13:42 ngày 01/10/2018

vài nồi thanh niên code tên biến toàn x y z, định giúp mà code chuối quá nên chịu

Phước Võ Văn viết 13:41 ngày 01/10/2018

cái này trang của họ mà bạn. mình cũng chán đây

viết 13:42 ngày 01/10/2018

Nếu hàm ấy ở biến toàn cục

function a() {return 1}
function a() {return ‘a’}

Chỉ cần khai báo lại hàm là được, như ví dụ trên, function sẽ trả về ‘a’.

Làm tương tự với các callback ở sự kiện (onclick, submit…)

Nếu hàm ấy ở trong 1 module riêng biệt thì phải có cách để load được module ấy từ file của mình, thì mới có thể điều khiển được hàm đấy.
Một trong những cách mình đã làm là học từ bài này https://kipalog.com/posts/Cach-hieu-qua-nhat-de-debug-file-Javascript-cua-trang-web-khac

Đào An viết 13:42 ngày 01/10/2018

Bạn thay đổi cái token làm gì, trên server sẽ validate lại token dựa trên SiteKey và SecretKey nên bạn muốn pass qua recaptcha bằng cách này là ko thể , thân!

Phước Võ Văn viết 13:49 ngày 01/10/2018

mình không phải thay đổi cái đó . mình chỉ muốn đưa cái dữ liệu 2captcha gửi về để chèn vào biến đó thôi. vì nó validate trên client-slide . biến đó được gán khi người dùng phải pass phần nhập captcha. mà việc đó mình đã thuê bên thứ 3 làm rồi

Đào An viết 13:37 ngày 01/10/2018

Ko hiểu ý chủ topic lắm , bạn nói chi tiết hơn đi. Nếu muốn thay đổi giá trị của biến trong js của 1 trang web khác: thủ công thì dùng developer tool , còn ko phải viết extension cho chrome.

Phước Võ Văn viết 13:47 ngày 01/10/2018

Như thế này . trang mình muốn làm việc đó đang sử dụng vue,js. Khi click login. nó phải validate dữ liệu từ input text chứa user và pass , và 1 biến ẩn nữa. giờ mình muốn hỏi làm sao để đưa 1 kí tự gì đó vào cái this.form.recaptcha

loginWithPassword: function() {
var w = this;
if (!this.submitting) {
if (this.error = “”, this.submitting = !0, !this.form.email || !this.form.password || !this.form.recaptcha)
return this.error = “you_need_to_fill_all_the_fields”,

Khi mà nó thiếu this.form.recaptcha này là nó sẽ không cho qua. mà nó chỉ được khởi tạo thì sự kiện click vào ô captcha kia

Bài liên quan
0