Front-end entry form not updating custom fields in existing entry I have an entry form (in a local v3.5.13.1 dev context) configured to update existing entries in a particular section. On load, it’s reflecting existing data (input via the Craft control panel) perfectly well, including Assets and Matrix field content.
But when I'm logged in as a Super Admin and I submit changes, it will receive updates to the entry Title field but not to any custom fields.
No errors are being reported and it redirects to the desired page.
At present, I have stripped it right back to the Title field and a single Plain Text custom field but no joy. Here is my form code:
{% set entry = entry ?? create('craft\\elements\\Entry') %}
{% set redirectUrl = &quot;partners/#{entry.id}&quot; %}
{% set sectionId = entry.sectionId %}

&lt;form method=&quot;post&quot; accept-charset=&quot;UTF-8&quot;&gt;
    {{ csrfInput() }}
    {{ actionInput('entries/save-entry') }}
    {{ redirectInput(redirectUrl) }}
    {{ hiddenInput('sectionId', '5') }}
    {{ hiddenInput('enabled', '1') }}
    {{ hiddenInput('entryId', entry.id) }}
    {{ hiddenInput('entryVariable', 'badEntry'|hash) }}

    {% macro errorList(errors) %}
        {% if errors %}
        &lt;ul class=&quot;errors&quot;&gt;
            {% for error in errors %}
                &lt;li&gt;{{ error }}&lt;/li&gt;
            {% endfor %}
        &lt;/ul&gt;
        {% endif %}
    {% endmacro %}
          
    &lt;p&gt;
        &lt;label class=&quot;field-below&quot;&gt;
            &lt;span class=&quot;field-label&quot;&gt;&lt;strong&gt;Organisation name&lt;/strong&gt;&lt;/span&gt;
            {{ input('text', 'title', entry.title, {
                required: true,
                class: entry.hasErrors('title') ? 'text error' : 'text'
            }) }}
            {{ _self.errorList(entry.getErrors('title')) }}
        &lt;/label&gt; 
    &lt;/p&gt;

    &lt;p&gt;
        &lt;label class=&quot;field-below&quot;&gt;
            &lt;span class=&quot;field-label&quot;&gt;
                &lt;strong&gt;Headline:&lt;/strong&gt;
                &lt;span class=&quot;line-ib&quot;&gt;Optional, 10 words or fewer recommended&lt;/span&gt;
            &lt;/span&gt; 
            {{ input('text', 'headline', entry.headline, {
                required: true,
                class: entry.hasErrors('headline') ? 'text error' : 'text'
            }) }}
            {{ _self.errorList(entry.getErrors('headline')) }}
        &lt;/label&gt; 
    &lt;/p&gt;

    &lt;p class=&quot;field-submit&quot;&gt;
        &lt;input type=&quot;submit&quot; class=&quot;btn&quot; value=&quot;Update page&quot;&gt;
    &lt;/p&gt;
&lt;/form&gt;

No updates to the Headline field get saved. Updates to the Title field do. Where can I be going wrong?
You need to pass your custom fields in a fields array, try:
{{ input('text', 'fields[headline]', entry.headline, {
    required: true,
    class: entry.hasErrors('headline') ? 'text error' : 'text'
}) }}

See example here - https://craftcms.com/knowledge-base/entry-form