Custom Fields
Re-Envisioned
Support Meta Box Geolocation How to disable submit when selecting an address?

  • Creator
    Topic
  • #16422
    Resolved brandonjp
    Participant

    Currently if a user selects an address using the keyboard (using arrow keys and then hitting the return/enter key on an address) it submits the entire form & causes the page to page to refresh (if Post) or adds the new term (if Taxonomy)

    Is there a Meta Box way of disabling form submission on return when selecting an address with the keyboard?

Viewing 4 replies - 1 through 4 (of 4 total)
  • Author
    Replies
  • #16429
    ComSi
    Participant

    I’m basically having the same problem. When using the [enter] key I would expect to have the option selected but the complete page form is actually submitted.

    Tried setting a return false on the input field that is the parent of autocomplete pop-down, but apparently that is not the element where we can check on the keyup event for that pop-down.

    #16441
    brandonjp
    Participant

    On my sites, I’m currently using this 👇 chain which disables autocomplete on the address fields (in Chrome) and prevents the return key:

    jQuery('form#post input[id^=address][type=text]').attr('autocomplete', 'new-password').keypress(function(e) {
      if (e.which == 13) return false;
    });
    

    A few other options for this…

    1️⃣
    This 👇 disables submission anytime the Enter/Return key is pressed inside any form element (including Google Maps, but also on any other element):

    jQuery('.wp-admin.post-type-CUSTOMPOST form#post').keypress(function(e) {
      if (e.which == 13) return false;
    });
    

    Here 👆 I’m targeting only the pages for my custom post type called CUSTOMPOST (so change that to your post type) or else just use jQuery('form#post').... to attach this to all edit post screens.

    2️⃣
    And for completeness… there is also Google Maps’ prescribed way of adding event listeners: https://developers.google.com/maps/documentation/javascript/events#DomEvents 👇

    google.maps.event.addDomListener(jQuery('#idOfTextInput')[0], 'keydown', function(e) {
      if (e.keyCode === 13) return false;
    });
    

    Since we’re in WordPress, I’m still using jQuery here 👆 you could easily write it with plain JS if needed. But since I’m still using jQuery here, I don’t see the reason for using the Google Maps method.

    #16459
    Anh Tran
    Keymaster

    Just fixed this issue in the latest version of Meta Box Geolocation.

    #16463
    ComSi
    Participant

    That’s great 👍

    Will this be available via the Composer repo soon? Tried updating but there were no available yet.

Viewing 4 replies - 1 through 4 (of 4 total)
  • You must be logged in to reply to this topic.