Currently (2025-04) this seems impossible / Elementor can’t provide a working solution! I’ve had to give up, hopefully this will get resolved for others…
‘elementor_pro/forms/render/item’ method
In our tests will let you change some things and apparently can be used for checkboxes and select boxes, but providing a text input box value not working for us
There are also hooks for, ‘elementor_pro/forms/render/item/text/’, ‘elementor_pro/forms/render/item./checkbox’, etc if you prefer a hook that targets only one field type (or you can just check the field type in this)
add_filter('elementor_pro/forms/render/item', function( $item, $index, $form )
{
$form_name = $form->get_settings_for_display( 'form_name' );
if ($form_name === 'search_page_enter_postcode')
{
if ($item['custom_id'] === 'finder_search_near_postcode' )
{
$item['field_label'] = 'My new label'; //<<<This works - label text is changed
$item['field_value'] = 'abcdef'; //<<<This doesn't work, field remains blank
}
}
return($item);
}, 10, 3
‘elementor_pro/forms/render’
Also doesn’t work in our tests
Elementor support gave us this exampel as the recomended way to do it, but in out tests the hook is never called. If you search ‘elementor_pro/forms/render’ it also doesn’t appear in any elementor docs to be able to look it up.
add_filter( 'elementor_pro/forms/render', function( $form )
{
$form_name = $form->get_settings( 'form_name' );
if ( $form_name === 'search_page_enter_postcode' )
{
foreach ( $form->get_fields() as $index => $field )
{
if ( isset( $field['custom_id'] ) && $field['custom_id'] === 'finder_search_near_postcode' )
{
$form->update_field( $index, [
'field_value' => 'abcdef'
] );
}
}
}
return $form;
} );