2017-10-12 17 views
1

J'ai une option définie sur mon compte/formulaire de vente. Sur la base de cette valeur, je veux changer la couleur de l'en-tête en haut du formulaire. Je peux le faire manuellement en éditant le CSS via les outils de développement, mais quand j'essaye de le faire via les propriétés de formulaire et les ressources Web, je ne peux pas changer la couleur.Microsoft Dynamics 365 Modifier la couleur d'en-tête sur le formulaire en fonction de la valeur

En tant que test de base, j'essaie juste d'injecter le CSS dans la page via javascript.

Voici la ressource Web CSS que j'ai créée.

.ms-crm-Form-HeaderPosition { 
    background-color: rgba(2,206,239,1) !important; 
} 

Voici la ressource web javascript j'ai créé:

function load_css_file(filename){ 
    var fileref = document.createElement("link") 
    fileref.setAttribute("rel", "stylesheet") 
    fileref.setAttribute("type", "text/css") 
    fileref.setAttribute("href", filename) 
    document.getElementsByTagName("head")[0].appendChild(fileref) 
} 
function myFormOnLoad(){ 
    load_css_file('/WebResources/aws_ColoredHeaderMGA.css'); 
} 

Je suis ensuite allé à ma forme de vente, changé les propriétés du formulaire pour charger dans ma ressource Web Javascript puis dit pour appeler la fonction myFormOnLoad comme sur OnLoad même pour le formulaire.

Je ne reçois aucune erreur, je sais que le javascript est appelé parce que j'ai ajouté un alert juste pour m'assurer et j'ai reçu l'alerte.

Qu'est-ce qui me manque pour changer la couleur de l'en-tête?

jquery attempt

+0

Avez-vous envisagé (ou essayé) [modifier la classe de style lui-même] (https://stackoverflow.com/q/11474430/205233) au lieu d'utiliser jquery? – Filburt

+0

@Filburt Je devrais jouer avec, je ne sais pas comment y parvenir à partir du moteur Dynamics 365. –

+0

Vous devez inclure votre propre ressource web jquery.js puisque MS cache '$' dans les scripts de formulaire - la solution citée peut simplement être exécutée dans votre 'myFormOnLoad()' existant. – Filburt

Répondre

1

En cas où quelqu'un est à la recherche du code de travail, le dessous de celui que nous utilisons.

Je suppose que l'URL est le problème dans OP. Ajouter OrgName & extension supprimer (Css)

function LdCSS() { 
    var path = "/orgname/WebResources/new_custom"; 
    var head = document.getElementsByTagName('head')[0]; 
    var link = document.createElement('link'); 
    link.rel = 'stylesheet'; 
    link.type = 'text/css'; 
    link.href = path; 
    link.media = 'all'; 
    head.appendChild(link); 
} 
+0

Est-ce que c'est avec la dernière version de Microsoft Dynamics 365, j'ai été incapable de faire fonctionner cela aussi bien. Ce ne sont pas des erreurs de ce que je peux dire en examinant l'en-tête, il ne semble pas que mon en-tête est en cours d'ajout. –

+0

notre est 2015 onprem, son travail .. –