The disabled form element is not submitted

mrN picture mrN · Oct 24, 2011 · Viewed 9.5k times · Source

I needed to show some preexisting data from a table and but needed to disable them to prevent user from editing them. So i disabled them

$form -> getElement("elementname") -> setAttrib("disable", true);

When I submit the form, I found out, that the form element does not get submitted at all, just because it was disabled. I confirmed this when I tested removing the disable options.

What is happening? Am i doing something wrong? How to solve this?

Answer

Dunhamzzz picture Dunhamzzz · Oct 24, 2011

This is by design, disabled elements do not get submitted with the form.

What you are doing is actually a null practice, no matter what you do to that form in put it will be editable by the end user. You simply cannot trust form input - even hidden fields - to not be tampered with.

Your best bet is to just display the information to the user and load it again after the form has been submitted; at worst store it in a session.