Stripe Credit Card Field not taking any entries

Thanks James, well you sorted out the error and cause of the problem for sure, but it appears the themes javascript is the problem. Even with the update its still there… and with a default theme it is not there… so solved, BUT…
Does anyone here know how I can correct the error? Am I doomed to redo the theme?
:anguished:

gdlr-script.js?ver=1.0:493 Uncaught TypeError: $(…).live is not a function
at HTMLInputElement. (gdlr-script.js?ver=1.0:493)
at Function.each (jquery.js?ver=1.12.4-wp:2)
at n.fn.init.each (jquery.js?ver=1.12.4-wp:2)
at HTMLDocument. (gdlr-script.js?ver=1.0:490)
at i (jquery.js?ver=1.12.4-wp:2)
at Object.fireWith [as resolveWith] (jquery.js?ver=1.12.4-wp:2)
at Function.ready (jquery.js?ver=1.12.4-wp:2)
at HTMLDocument.J (jquery.js?ver=1.12.4-wp:2)
(anonymous) @ gdlr-script.js?ver=1.0:493
each @ jquery.js?ver=1.12.4-wp:2
each @ jquery.js?ver=1.12.4-wp:2
(anonymous) @ gdlr-script.js?ver=1.0:490
i @ jquery.js?ver=1.12.4-wp:2
fireWith @ jquery.js?ver=1.12.4-wp:2
ready @ jquery.js?ver=1.12.4-wp:2
J @ jquery.js?ver=1.12.4-wp:2
[Violation] Forced reflow while executing JavaScript took 120ms
gdlr-script.js?ver=1.0:689 Uncaught TypeError: Cannot read property ‘msie’ of undefined
at gdlr-script.js?ver=1.0:689
at dispatch (jquery.js?ver=1.12.4-wp:3)
at r.handle (jquery.js?ver=1.12.4-wp:3)
(anonymous) @ gdlr-script.js?ver=1.0:689
dispatch @ jquery.js?ver=1.12.4-wp:3
r.handle @ jquery.js?ver=1.12.4-wp:3
load (async)
add @ jquery.js?ver=1.12.4-wp:3
(anonymous) @ jquery.js?ver=1.12.4-wp:3
each @ jquery.js?ver=1.12.4-wp:2
each @ jquery.js?ver=1.12.4-wp:2
ra @ jquery.js?ver=1.12.4-wp:3
on @ jquery.js?ver=1.12.4-wp:3
488 @ give.js?ver=2.7.5:35
n @ give.js?ver=2.7.5:1
846 @ give.js?ver=2.7.5:35
n @ give.js?ver=2.7.5:1
482 @ give.js?ver=2.7.5:22
n @ give.js?ver=2.7.5:1
(anonymous) @ give.js?ver=2.7.5:1
(anonymous) @ give.js?ver=2.7.5:1

Are you using wp version 5.5? I would roll back to 5.4 and see if the issue is with the changes to jquery

Ah that could be! Thanks James!
I am using 5.5.
Quickest easiest way to roll back?

Found a plugin for that… rollbacks… etc… thanks, you are on the right track xo!

So far no go to 5.4
I will check more versions later. I also contacted the developers of the theme to see if they can do anything. But James you could be right, I have another site running that theme (its version is: 5.4.2) and the fields are working . Plugins are all very similar if not identical, both sites on cloudflare…
I appreciate you following the thread and trouble shooting.
S

@SarahG - Have another check that your 5.5 rollback to 5.4 actually worked. One of my legacy theme users did a 5.5–>5.4 rollback via GoDaddy but when I checked the site it was still on 5.5. He finally got it sorted after clearing the cache which for GoDaddy cPanel shared hosting is buried under the security Firewall.

Regarding moving forward…reloading the legacy jQuery-migrate libary via plug-in or functions.php code is a very short-term fix that won’t survive when WP5.6 is released (possibly WP5.7 but likely not later).

I am the reluctant custodian of the legacy MySiteMyWay themes (the authors just walked away from me and the other users) and am just updating those themes to deal with this issue. It requires code changes. The reason re-coding is necessary is that WP5.6 is planning on adding jquery-migrate back into the load…but it will be the latest version of jquery-migrate which is incompatible with the old version of jquery-migrate. A large number of legacy themes will need to be re-coded to deal with this issue.

So your previous question about “does the theme need to be updated” the answer is…yes.

More Info: https://make.wordpress.org/core/2020/06/29/updating-jquery-version-shipped-with-wordpress/

I hope you get it sorted.

2 Likes

Thanks Tim and James,
The theme developers are saying this now:

I see it’s a part of s2member plugin and seem it’s a conflict case, could you ask them more about it and we will see if we can help or not. Usually, the conflict may we have our own stripe code and when you use stripe from plugin, it can’t work well.

What can I tell them to fix or improve?
So annoying to be caught in this.
Thanks for your advice!
S

Ps? It is working on firefox but not on Chrome or Safari now… its back to 5.5.
Tim - thanks for the note on 5.6 I will prepare now for it all to go south in the future with a new theme.
:crossed_fingers:
:upside_down_face:

Based on your traceback the offending call is:
gdlr-script.js?ver=1.0:493 Uncaught TypeError: $(…).live is not a function

There are no calls to gdlr-script or .live in S2member code…so this is a theme issue or an issue with a non-s2member plugin.

The technical problem is that the .live jQuery function was deprecated in jQuery1.7 and dropped in jQuery1.9 but kept alive via jquery-migrate library which was included by WP-core up to and including WP5.4. To fix this issue in WP5.5+, all references to $().live need to be converted to $().on (see https://api.jquery.com/live/ )

Awesome, thanks!:grinning:

You are most welcome :slight_smile:

NOTE: As code changes go, this one is pretty easy to do and is a low risk change.

1 Like