DocType field from readonly to editable

Hello,
I want to do the following scenario: In a doctype I have a field (texteditor) where the users can write some comments. But I would like to have that field readonly at the first visit to the page and only when the user clicks on a button “edit comments” then the field will turn to editable. How can I achieve that?
Please give me detailed information since I am new in this environment.
Thank you
Makis

Hi @emakis,

you can disable/enable field using cur_frm.toggle_enable(field_name, enable) method on client script.
pass enable = true or false depending on your requirement.

Thanks,
Makarand Bauskar

2 Likes

@emakis welcome to the forum :smile:

Hello i am trying to make vehicle_plate_number Read only field editable when transporter_type==“Sub-Contractor”. I have tried the following code below

  transporter_type:function(frm){
	if (frm.doc.transporter_type && frm.doc.transporter_type==="Sub-Contractor") {

		cur_frm.toggle_enable("vehicle_plate_number", true)
	}
	else{
		console.log("No sub contractor");
	}
},

Please help @makarand_b , thanks

try this:

cur_frm.set_df_property(“vehicle_plate_number”,“read_only”,0);

reference:

1 Like

Thanks for getting back to me @magic-overflow , here is how i rewrote my code but still it’s not working.

 transporter_type:function(frm){
	if (frm.doc.transporter_type && frm.doc.transporter_type==="Sub-Contractor") {
		console.log("enable read only fields");

	    frm.set_df_property("vehicle_plate_number","read_only",0);
		frm.toggle_enable("vehicle_plate_number", true)

	}
	else{
		console.log("No sub contractor");
	    cur_frm.set_df_property("vehicle_plate_number","read_only",1);
	}
	frappe.after_ajax(function(){
		// frm.events.driver(frm);
		frm.refresh_field("vehicle_plate_number");
	})
},

Delete

frm.toggle_enable(“vehicle_plate_number”, true)

Thanks for getting back to me @magic-overflow , i managed to solve it by changing the field type to “Data” and selecting the read only box under Permissions section. So now i could change the fields from read only to editable with this line of code.

frm.set_df_property(“vehicle_plate_number”,“read_only”,0);

2 Likes

Thank you @makarand_b that solved my issue