Skip to content

Must click "Update" twice to save values to post_meta #996

@dmurchie

Description

@dmurchie

UPDATE: Works fine if I set a value attribute on the input element. Plain javascript because jQuery's prop() and attr() didn't seem to work.

let field = acf.getField('field_123456');
field.val('some value');

// add value attribute to input
document.querySelector('.acf-field[data-key="field_123456"] .acf-input-wrap input').setAttribute('value', 'some_value');

I'd still love to understand the original issue. Maybe some sort of "dirty" status that's not set when using ACF val() but is set when editing the field manually?


Describe the bug

Wondering if anyone has any insight on a custom ACF block issue? ("blockVersion": 3, "usePostMeta": "true"): values set in block with javascript are not saved to Db unless Update is clicked twice.

Within wp-admin, editing a post:

  1. I set a field value via javascript while a block is being edited:
let field = acf.getField('field_123456');
field.val('some value');
  1. I see the value in the text input on-screen
  2. I click "Update" for the post, but value is not written to dB. ***
  3. I click "Update" a second time, and value IS written to the database.

*** If I manually place the cursor in any field in the block and add/delete a character, THEN values are saved the first time I click "Update"

Sure seems like ACF triggers some event/condition when there's a manual edit, but NOT when the value is changed via the ACF JS API.

What is that event/condition? I've had no luck figuring it out...

To Reproduce
See above

Expected behavior
When I click Update the first time to save the post, the values set via the ACF JS API are saved to the db.

Version Information:

  • WordPress Version [6.9.1]
  • PHP Version [e.g 8.5]
  • ACF Version [e.g ACF PRO 6.7.0.2]
  • Browser [all of them...]

Additional context
I've submitted a ticket, and searched the forum but did not find this issue.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions