Rechercher dans ce blog

Affichage des articles dont le libellé est Javascript. Afficher tous les articles
Affichage des articles dont le libellé est Javascript. Afficher tous les articles

lundi 4 juin 2012

Résoudre les problèmes de script suite à la prochaine mise à jour

Resolve breaking script Issues when upgrading to the next release of Microsoft Dynamics CRM

Pour supporter les différents navigateurs, beaucoup de changements internes ont été réalisés.

Voici des exemples de modification de script à faire:
  • getElementById
  • Problèmes avec crmForm:
    • crmForm.SetFieldReqLevel
    • crmForm.SubmitCrmForm
    • crmForm.detachCloseAlert
    • crmForm.IsValid
    • crmForm..Clear
  • Problèmes avec crmGrid
    • crmGrid.innerGrid
    • crmGrid.GetParameter
  • Problèmes avec le contrôle Lookup
    • LookupControl.AddParam
    • LookupControl.AddItems

jeudi 22 décembre 2011

Création d'un bouton dans un formulaire

Dans cette exemple, nous allons remplacer le champ Salutations du formulaire Contact par un bouton.

Créer une Web Resource nommée new_bouton de type jscript contenant le code suivant.

/* sample */
/* 'salutation','ButtonText','100px','functionName','Button Label' */
function ConvertToButton(fieldname, buttontext, buttonwidth,clickevent, title){
 
 /* check if object exists; else return */
  if (document.getElementById(fieldname) == null)
 {
   return;
  }
 
 
  functiontocall=clickevent;
  crmForm.all[fieldname].DataValue = buttontext;
  crmForm.all[fieldname].readOnly = true;
  crmForm.all[fieldname].style.borderRight="#3366cc 1px solid";
  crmForm.all[fieldname].style.paddingRight="5px";
  crmForm.all[fieldname].style.borderTop="#3366cc 1px solid";
  crmForm.all[fieldname].style.paddingLeft="5px";
  crmForm.all[fieldname].style.fontSize="11px";
  crmForm.all[fieldname].style.backgroundImage="url(/_imgs/btn_rest.gif)";
  crmForm.all[fieldname].style.borderLeft="#3366cc 1px solid";
  crmForm.all[fieldname].style.width=buttonwidth;
  crmForm.all[fieldname].style.cursor="hand";
  crmForm.all[fieldname].style.lineHeight="18px";
  crmForm.all[fieldname].style.borderBottom="#3366cc 1px solid";
  crmForm.all[fieldname].style.backgroundRepeat="repeat-x";
  crmForm.all[fieldname].style.fontFamily="Tahoma";
  crmForm.all[fieldname].style.height="20px";
  crmForm.all[fieldname].style.backgroundColor="#cee7ff";
  crmForm.all[fieldname].style.textAlign="center";
  crmForm.all[fieldname].style.overflow="hidden";
  crmForm.all[fieldname].attachEvent("onmousedown",push_button);
  crmForm.all[fieldname].attachEvent("onmouseup",release_button);
  crmForm.all[fieldname].attachEvent("onclick",functiontocall);
  crmForm.all[fieldname].style.lineHeight="14px";
  crmForm.all[fieldname+'_c'].style.visibility = 'hidden';
  crmForm.all[fieldname].title=title;
  window.focus();
  
 
 function push_button(){
   window.event.srcElement.style.borderWidth="2px";
   window.event.srcElement.style.borderStyle="groove ridge ridge groove";
   window.event.srcElement.style.borderColor="#3366cc #4080f0 #4080f0 #3366cc";
  }
 
 function release_button(){
   window.event.srcElement.style.border="1px solid #3366cc";
  }
 }
 
 
 
/* now the definition of the function to call on button click */
function FunctionName(){
alert("coucou"); 
}

Dans le formulaire Contact, ajouter l'appel de la fonction ConvertToButton sur le OnLoad avec comme paramètres : 'salutation','ButtonText','100px','FunctionName','Button Label'.


Après publication des modifications, nous obtenons l'écran suivant sur un contact.

jeudi 20 janvier 2011

Cacher un onglet

Le premier onglet a pour id : "tab0Tab", le deuxième : "tab1Tab" et ainsi de suite.

Code à mettre dans le OnLoad du formulaire.

/* Cache un élément graphique */
function CacheGraphique(sField){
var oField = document.getElementById(sField);
if (oField != null){oField.style.display = "none";}}

CacheGraphique("tab5Tab");

Onglet Non caché






Onglet caché

Piloter la contrainte d'un champ en fonction d'une case à cocher

Code à mettre dans le OnLoad du formulaire.

/* Champ requis */
function crmForm.ChampRequis(sField){
crmForm.all.item(sField).setAttribute("req", 2);
crmForm.all.item(sField + "_c").className = "req";
crmForm.all.item(sField + "_c").innerHTML = crmForm.all.item(sField + "_c").innerText + "Required";
}

/* Champ non requis */
function crmForm.ChampNonRequis(sField){
crmForm.all.item(sField).setAttribute("req", 0);
crmForm.all.item(sField +"_c").className = "n";
crmForm.all.item(sField +"_c").innerHTML = crmForm.all.item(sField +"_c").innerText;
}

crmForm.all.hab_prime.onclick= function(){
if (crmForm.all.hab_prime.DataValue=="1"){crmForm.ChampRequis("hab_valeur"); }
else{crmForm.ChampNonRequis("hab_valeur"); }}

Case à cocher non sélectionnée



Case à cocher sélectionnée