Skip Navigation

[Resolved] Distance Filters Lock Up when Tabbing Through Fields

This support ticket is created 5 years, 8 months ago. There's a good chance that you are reading advice that it now obsolete.

This is the technical support forum for Toolset - a suite of plugins for developing WordPress sites without writing PHP.

Everyone can read this forum, but only Toolset clients can post in it. Toolset support works 6 days per week, 19 hours per day.

Sun Mon Tue Wed Thu Fri Sat
- - 14:00 – 20:00 14:00 – 20:00 14:00 – 20:00 14:00 – 20:00 14:00 – 20:00
- - - - - - -

Supporter timezone: Asia/Ho_Chi_Minh (GMT+07:00)

This topic contains 4 replies, has 2 voices.

Last updated by Beda 5 years, 8 months ago.

Assisted by: Beda.

Author
Posts
#1233318
screenshot.jpg

I am trying to: Filter two different views with the same filter controls via manually submitted AJAX updating.

Link to a page where the issue can be seen: hidden link

I expected to be able to tab through the fields inputting my filter data without interruption.

Instead, I got: After entering my distance radius and tabbing through to the map center field, the form temporarily locks up after I enter a few characters in the field, removing what I had just typed. Not only that, but the Google Maps location suggestion dropdown doesn't go away, covering up my submit button. Clicking a selection from the dropdown will not populate the field, nor make it go away either. I can start typing in the field again, and another dropdown will layer itself over the initial one, but choosing a location does not make the first one go away.

Please Note: The filtering works like a charm. I am not having a problem with that functionality. It's the user experience I'm mostly concerned about, as this issue occurs mostly while the user is tabbing through the fields.

I initially found that this was happening with the automatic AJAX updating, so I switched the controls to manual AJAX, and the problem persisted.

#1233398

Updating more than one view query with AJAX (or even non-AJAX) using one URL with parameters is often not possible as Views will add and listen to a specific ID in the URL of the query, as you probably saw it's the wpv_view_count.

However, I cannot replicate what you describe:
After entering my distance radius and tabbing through to the map centre field, the form temporarily locks up after I enter a few characters in the field, removing what I had just typed.

I see the search will not work after submitting it, for probably the above-mentioned reason, but I do not see the form locked or the content deleted from the input.
I can submit the search, however, this then produces no results.
This, on Chrome and Safari.

What I noticed was - simulating a slow connection with the Chrome Browser console I got similar issues as you describe. But that would be related to ISP not loading all data fast enough to make the JS work on the page.
I refer to 2G speed rates, not above.

#1233850

I tested this in both Firefox and Chrome, and encountered the same issue. Here is a video clip to show you what's happening.

hidden link

I don't think our internet here is the issue. Though it may not be the fastest connection ever, it certainly isn't slow.

hidden link

I get the impression that it's trying to update the query whilst I'm tabbing through the fields, even though I hadn't selected the submit button. This was my first thought, which is why I disabled automatic AJAX updating when a user selects a filter, and opted for manual submission.

Is there a better way for me to handle this? Should I not be trying to filter two views with one filter control? I mean, I guess I could forgo AJAX entirely if there aren't any other solutions, but I thought it would be cool for the page not to reload when the user submits their filters.

#1233865

I think I figured out an alternative configuration. Instead of selecting "AJAX results update when visitors click on the search button", I selected "Let me choose the settings manually", and then proceeded to replicate the AJAX functionality there.

I selected:

  • Update the View results only when clicking on the search button
  • Update the Views results without reloading the page
  • Update URLs after loading search results
  • Always show all values for inputs

The other view is configured to update results on page reload, sans AJAX, which appears to properly update when the "parent" view does.

It seems to be operating properly, for now. So I'm just going to go with these settings and hope that it's the solution.

#1234943

What I see on your video is not the same as we see locally.

Please if possible submit me the precise steps to reach this issue, or, a copy of the site (https://toolset.com/faq/provide-supporters-copy-site/) so I can replicate and either report the bug or let you know how to fix this.

Thanks!