I was recently asked how to disable typing into the contact name field on the contact detail screen in the SalesLogix web client. The intent was to force users to have to click the pencil to have to edit the name rather than type in the field and have SalesLogix attempt to parse it out.
To do this is relatively simple. The SalesLogix name control is a composite control, that when rendered to the page is comprised of a text box and a button to launch the name edit dialog. If you examine the page in the browser you can see the text box component element has an ID of the control name from the form plus “_displayText”. With this knowledge you can add the following to the page load event of the Contact detail quick form:
string script = ” var mytextbox = document.getElementById(‘” + nmeContactName.ClientID + “_displayText’);mytextbox.readOnly=true;”;
ScriptManager.RegisterStartupScript(Page, GetType(), “FXContactLockDown”, script, true);
Notice in the script I am building a client side line of code and injecting in the name control’s client ID and then appending the _DisplayText to that client ID. This will allow my client side script to get a reference to the text box portion of the deployed name control and from there I can set the property to read only.