Prevent field changed based on a field value

I have say 30 fields on a formOne field is a status I set for that record.
If the status is set to say “1”, then I want to prevent changes for about 20 of the fields.

Case: It is a PO header. If I set the Status to ISSUED, I do not want user changing the vendor , the date issued etc. but will allow changes to scheduled delivery, for example.

How can I do this?

Lewis

It would have to be an AJAX event onChange / onBlur that would trigger it. After that trigger, it should change a CSS value with jQuery with some like:

 
 $('#fieldId').attr('disabled', 'disabled'); //Disable