Sunday, February 28, 2010

IFrame + HTML + CRM Forms

One of my clients asked me to make "pretty column headers" for a 4 column section on his Opportunity form. Most of the code samples I've seen from other consultants often tell you to add a text field and customize it. Well, it becomes pointless if you have to make 4 fields just to re-transform into something "pretty" and not store a state of field.

You can add an iframe with a target of about:blank and then add this to your form Onload event. Oddly, I rarely see anyone mention this.

crmForm.all.IFRAME_SomeIFrame_d.innerHTML ="Look at me!";


So that you understand what that means. Here is the break down.

"crmForm.all.IFrame_SomeIFrame" - is the name of the element.
"_d.innerHTML" - is the attribute of this element.
"";" - simple HTML mark up of the text of Look at me!".

This had a ton of uses if you end up with a heavy customization of MSCRM. Rather than have it equal the code itself...you could have it equal a CRM field. Note you SHOULD use a nvachar text area field rather than a NTEXT field or any other choice. Make sure you make the field length large enough to hold your code...I use 500. Now you can put that HTML code in the form and it would show OnLoad. Very important if you want to say, make an HTML signature for each user.


Update:

Looks like some the HTML tags you could use from this have been depreciated. Use this instead.

document.getElementById("IFRAME_CCNotesOffice_d").innerHTML = "
Notes from the Office

";