ChatGPT解决这个技术问题 Extra ChatGPT

Disabled form inputs do not appear in the request

I have some disabled inputs in a form and I want to send them to a server, but Chrome excludes them from the request.

Is there any workaround for this without adding a hidden field?

<form action="/Media/Add">
    <input type="hidden" name="Id" value="123" />

    <!-- this does not appear in request -->
    <input type="textbox" name="Percentage" value="100" disabled="disabled" /> 

</form>
@Liam it is very strange attempt to close in favor to less attended question with lower quality answers.
An older less attended question. Technically this question should of been closed as a duplicate when it was asked. I've flagged it with a mod for potential merging, may or may not happen. It's up to them.
@Liam in fact the questions are different even some answers looks similar. I ask about how to make "disabled" field to submit values, and another question asks about "reasons"
Only got here after I spent a few hours trying to solve it. Ehhh..

M
Mark Amery

Elements with the disabled attribute are not submitted or you can say their values are not posted (see the second bullet point under Step 3 in the HTML 5 spec for building the form data set).

I.e.,

<input type="textbox" name="Percentage" value="100" disabled="disabled" /> 

FYI, per 17.12.1 in the HTML 4 spec:

Disabled controls do not receive focus. Disabled controls are skipped in tabbing navigation. Disabled controls cannot be successfully posted.

You can use readonly attribute in your case, by doing this you will be able to post your field's data.

I.e.,

<input type="textbox" name="Percentage" value="100" readonly="readonly" />

FYI, per 17.12.2 in the HTML 4 spec:

Read-only elements receive focus but cannot be modified by the user. Read-only elements are included in tabbing navigation. Read-only elements are successfully posted.


To answer my own question: No, readony only works for form control of type='text' and type='password' and for