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.