JavaScript - Felder im Formular manipulieren

5. November 2009 18:00

Natürlich können viele Einstellungen über den Formulareditor vorgenommen werden. Aber manchmal möchte man Einstellungen ändern, die über den Formulareditor nicht möglich sind. Anbei habe ich mal ein paar Beispiele aufgelistet, um zu zeigen, was so alles möglich ist:

Größe eines Feldes zur Laufzeit ändern
crmForm.all.<Name des Feldes>.style.width="50%";
crmForm.all.<Name des Feldes>.style.width="150px";

Tabulatorreihenfolge zur Laufzeit ändern
crmForm.all.<Name des Feldes>.tabIndex = 1301;

Beschreibung des Feldes ausblenden (Label)
crmForm.all.<Name des Feldes>_c.style.display = "none";

Das Feld (Pickliste, Textfeld, usw.) ausblenden
crmForm.all.<Name des Feldes>_d.style.display = "none";

Bei einem Lookup das Suchfeld ausblenden
crmForm.all.<Name des Feldes>.style.display = "none";

TextBox Bereich ausblenden
crmForm.all.<Name des Feldes>.style.display = 'none';

Ausblenden des Feldes und der ganzen Zeile, in der das Feld angezeigt wird
crmForm.all.<Name des Feldes>.parentElement.parentElement.style.display = 'none';

Ausblenden des Feldes und des ganzen Abschnittes, in dem das Feld angezeigt wird
crmForm.all.<Name des Feldes>.parentElement.parentElement.parentElement.style.display = 'none';

Einblenden eines Feldes
crmForm.all.<Name des Feldes>_c.style.display = "";
crmForm.all.<Name des Feldes>_d.style.display = "";

Feld Schreibgeschützt anzeigen
crmForm.all.<Name des Feldes>.Disabled = true;

Feld ReadOnly setzen
crmForm.all.fieldname.readOnly = true;

Alle Felder eines Abschnittes Disabled setzen
Code:
var abschnitt = crmForm.all.fieldname_c.parentElement.parentElement.parentElement;

for (i = 0; i < abschnitt.all.length; i++)
{
    abschnitt.all[i].Disabled = true;
}

Alle Felder eines Abschnittes ausblenden
Code:
function OnCrmPageLoad()   
{   
  //Hide the Second Section in the first Tab   
  ToggleSection( 0 , 1 , "none" /* "inline" */);   
}   
 
// Tabs and Section Collections are zero based   
function ToggleSection( tabIndex , sectionIndex , displayType )   
{   
  var sec = document.getElementById( "tab" + tabIndex );   
  sec.childNodes[0].rows[ sectionIndex ].style.display = displayType;   
}   
 
//Entry Point   
OnCrmPageLoad();
hier gefunden

Tool Tips hinzufügen
crmForm.all.<Name des Feldes>_d.title = "Dies ist der angezeigte Tool Tip";
crmForm.all.<Name des Feldes>_c.title = crmForm.all.<Name des Feldes>_d.title;

Feld auf Keine Einschränkung setzen
crmForm.SetFieldReqLevel("feldname", 0);

Feld auf Eingabe empfohlen setzen
crmForm.SetFieldReqLevel("feldname", 1);

Feld auf Eingabe erforderlich setzen
crmForm.SetFieldReqLevel("felldname", 2);

Der Artikel ist unter diesem Link in meinem Blog erschienen.

nach oben