JavaScript - Beschriftung zur Laufzeit ändern

5. November 2009 17:21

Natürlich kann die Beschriftung eines Feldes im Formulareditor eines Formulars angepasst werden. Aber manchmal möchte man die Beschriftung auch zur Laufzeit ändern, um z.B: auf Eingaben des Benutzers reagieren zu können. Auch können dabei Anpassungen vorgenommen werden, die über den Editor nicht möglich sind, wie Farbe, Größe und Schriftwart ändern, Hoch- oder Tiefgestellte Zeichen, usw. Anbei ein paar Beispiele, was so alles möglich ist.

Hinweis: WIchtig ist der Suffix _c hinter dem Name des Feldes. Mit diesem Suffix wird das Label eines Feldes angesprochen.

  • Den Anzeigetext des Labels ändern
    crmForm.all.sulz_testfeld_c.innerText = "neues Label";
  • Schriftgöße ändern
    crmForm.all.sulz_testfeld_c.style.fontSize = '16px';
  • Font ändern
    crmForm.all.sulz_testfeld_c.style.fontFamily = 'Forte';
  • Text in Fett anzeigen
    crmForm.all.sulz_testfeld_c.style.fontWeight = 'bold';
  • Über innerHTML sind auch weitergehende Anpassungen des Textes möglich
    var field = crmForm.all.sulz_testfeld_c;
    field.innerHTML = "Auch <sup>hochgestellte</sup> Zeichen <strong>sind</strong> möglich";
  • Beschriftung durch einen Button ersetzen und das Click() Event zuweisen
    Code:
    if (crmForm.all.sulz_button != null) 
     { 
       var field = crmForm.all.sulz_button_d; 
       var html = "<TABLE cellSpacing=0 cellPadding=0 border=0><TBODY><TR><IMG style="CURSOR: hand" onclick=Button_OnClick() height=32 alt="Click button" src="/_imgs/ico_32_134.gif" width=32></TR></TBODY></TABLE>"; 
       field.innerHTML = html; 
     } 
    Button_OnClick = function() 
     { 
       alert("button clicked!");   
     }
  • Ein Feld durch eine Beschriftung ersetzen
    Code:
    if (crmForm.all.sulz_button != null) 
     { 
       var html = document.createElement( "<TD id=sulz_button_d>"); 
       html.innerText = "Dies ist eine Beschriftung"; 
       crmForm.all.sulz_button_d.replaceNode(html); 
    }
  • Text unter einem vorhandenem Feld anzeigen
    Code:
    if(crmForm.all.sulz_button != null) 
     { 
       var html= document.createElement( "<LABEL>"); 
       html.innerText = "this is a text field"; 
       crmForm.all.sulz_button.parentNode.appendChild(html); 
     }
  • Den Namen eines Buttons ändern
    document.all._MBcrmFormSaveAndClose.children[0].innerHTML = "Neuer Text";

Der Artikel ist unter diesem Link in meinem Blog erschienen.

Re: JavaScript - Beschriftung zur Laufzeit ändern

14. Juni 2012 13:28

existieren code snippets auch zur crm 2011 version?

Re: JavaScript - Beschriftung zur Laufzeit ändern

14. Juni 2012 13:35

http://michaelsulz.wordpress.com/2012/0 ... version-3/