I just updated a 6.x site's modules yesterday using Drush. It got the 6.x-2.x-dev package for jQuery update. After the update, both draggable tables (already addressed in a separate open issue) and collapsible fieldsets were broken. Basically, they end up open or collapsed correctly depending on their default state, but cannot be toggled (clicking on them does nothing). I had to disable the module to get them working again. I know next to nothing about jQuery, so I really have no idea how to debug it.

Comments

eugenmayer’s picture

Priority: Normal » Critical

bump .. more people seem to have problems here. As fieldsets are quiet common in the system and the 1.7 jquery version becomes quiet spreaded, this bug is a blocker?

Yet iam not able to reproduce it, this bug is not on every system. all my drupal 6 installations work fine, also freshly installed drupal installations dont get bugged. But here we have a similar issue:

http://drupal.org/node/712008#comment-2591380

develcuy’s picture

StatusFileSize
new993 bytes

I got same problem because of a CCK field that needed nested table, and this bug seems to be related to: #329797: tabledrag.js doesn't play nice with nested tables

develcuy’s picture

StatusFileSize
new2.43 KB

Just found another issue and updated the patch. The core's original td and tr selectors were resurrected.

eugenmayer’s picture

Well devel thanks for the work. I would like to test the patch, but i cant seem to reproduce the bug on my installation. yet

develcuy’s picture

@EugenMayer, try with matrix module, it renders a table into a field form.

develcuy’s picture

Just noticed that both patches have to be applied

mfer’s picture

Status: Active » Postponed (maintainer needs more info)

In a previous issue I fixed the drag n' drop stuff. Now I cannot duplicate any problems with fieldsets.

Can someone provide setup instructions to reproduce this issue?

modctek’s picture

subscribing - perhaps this is related to interactions with other jquery plugins? jquery_ui?

I was using the 2.x-dev with WYSIWYG Image Upload, and you have to do some jiggery-pokery (http://drupal.org/node/694632) with jquery libraries that perhaps don't sit well with core? Had to downgrade, as this busted several other jquery items on my site, including Admin Menu, Views Slideshow and the fieldset twisties.

mfer’s picture

Collapsible fieldsets is not reladed to WYSIWYG Image Upload not working. Please open a new issues with lots of details. Please make sure the version of jQuery UI are working with is the proper one for your version of jQuery.

modctek’s picture

I realize that. I was trying to provide some context as to why this issue wasn't reproducible for some folks.

rootwork’s picture

I have some testing results to report, as I was experiencing the same bug.

First, it's a tricky bug because I think it changes depending on how many other jquery-related modules you have enabled. For instance, when I first updated jquery_update from the previous 2.x-dev to the current 2.x-dev, I also had a bunch of other jquery-related modules enabled like lightbox and views_slideshow, and they all broke, along with collapsible fieldsets, sticky table headers and drag-and-drop list items.

If I disabled lightbox, then all of a sudden collapsible fieldsets worked -- but views_slideshow, table headers and drag-and-drop list items were still broken.

I went through every jquery-related module that I had and turned them off and uninstalled them one by one. The only one that made the difference was jquery_update. Jquery_update enabled = everything broken; jquery_update disabled = everything works.

I also verified that it isn't related to WYSIWYG image upload or jquery_ui -- I had initially thought that because the former is indeed a shaky module ("jiggery-pokery" is a great description for what you have to do with it). When I turned WYSIWYG image uploader off, uninstalled it, turned off jquery_ui, uninstalled that, replaced jquery-ui.1.7 with jquery-ui.1.6, then re-installed jquery-ui, everything worked. If I then re-installed jquery_update, everything broke. Thus the bug was happening regardless of the version of jquery-ui being used. So I'm pretty sure it's not due to jquery-ui (or WYSIWYG image uploader, since it's dependent on that) or really any other jquery-related module.

I hope that gives some more data so we can see what changes that happened since the last 2.x-dev made it not play well with jquery_ui and other jquery functions. I'm happy to do more testing if someone with more knowledge tells me what would be helpful.

eugenmayer’s picture

Well i use a lot of jquery related modules (tabs, jquery_menu and others), i have installed arroudn 120 modules. Iam using jquery_update dev and jquery_ui 1.7.x and wyswiyg_imageupload and they all work (in all installations).

Iam nearly 100% sure that this bug will be related to lightbox(or lightbox2), with its global selector which might get out of boundary. This would be explain why events like the collapsible fields are not working.

That the problem depends on how many modules you instal, shouldnt be the case. What you describe is simply a javascript error stopping all the other processing or some kind of deadlock.

rootwork’s picture

Yep, I'm going to go back on my earlier results -- you're right, it was Lightbox. The reason disabling Lightbox before only partially fixed it, I think, was because all the caches hadn't been cleared. When I disable Lightbox, or upgrade to Lightbox 2.x-dev (and run update.php), and then clear the caches including the theme registry, it all seems to work.

So while turning off jquery_update seemed to make the problems go away, I think the cause was in Lightbox. Solution: Upgrade to Lightbox 2.x-dev, or disable it.

eugenmayer’s picture

Willl this is quite an important information rootwork. Thanks for the feedback and the investigation!

eugenmayer’s picture

rootwork are you referring to

http://drupal.org/project/jlightbox or rather http://drupal.org/project/lightbox2 ?

Both have a dev version, bot no 6--2-0 dev. Do i miss something?

eugenmayer’s picture

ok, you use the 6--1- dev

rootwork’s picture

Lightbox2.module -- and you're right, I meant 1.x-dev.

If anyone else can confirm this, maybe we can move this over to the lightbox2 issue queue.

eugenmayer’s picture

This is confirmed by 2 other people and even officaly in the issues of lightbox (@selector bug)

rootwork’s picture

Project: jQuery Update » Lightbox2
Version: 6.x-2.x-dev » 6.x-1.9
Status: Postponed (maintainer needs more info) » Closed (duplicate)

Cool. I'm going to mark it as a duplicate of #411162: Problem with 'automatic image URL re-formatting' with jQuery 1.3.x and switch it to the Lightbox2 issue queue then.

stephenls’s picture

Issue tags: +internet explorer, +Lightbox 2

I don't think this is related to the linked issue in #19, so I'm posting this here...

I have a site which uses:

Drupal 6.19
jQuery Update, version 6.x-1.1
jQuery UI, version 6.x-1.4
Lightbox 2, version 6.x-1.11

I have a hard coded link to collapse.js in my page.tpl.php.
The other linked javascripts, included in the $scripts variable, are:
admin_menu.js,
fivestar.js,
(and of course) lightbox.js

All of these appear in my template before the hard coded link to collapse.js, as otherwise, collapsible fieldsets don't work.

The collapsible fieldset works fine in all browsers except IE. I've only checked in IE8 so far. When the collapsible fieldset link (and only that paticular link) is clicked on, in the "collapsible" state, a blank lightbox image appears and pretty much breaks everything. My site needs to work in IE, and I'm tearing my hair out even researching the problem, as it seems there similar bugs, but none that behave exactly in this way. Any pointers would be greatly appreiciated, and apologies in advance if this is a duplicate of something which has already been addressed elsewhere (if it has, could I be pointed in that direction?).

Thanks...

drupalfever’s picture

I was having this problem only for logged out users.

I got a solution to this problem that worked for my Drupal 6 website.

I had to insert some JavaScript at the hook_init of one of my modules:


$inline_js = "
$.getScript('/misc/collapse.js', function() {
  $.getScript('/misc/drupal.js', function() {});
});";

drupal_add_js($inline_js, 'inline');

This is the only thing that worked for me.