Question

Est-il possible d'ajouter une sorte de validation JavaScript à la BCE des articles comme Élément de modification, l'extraction et de flux de travail?Ce que je veux, c'est une simple alerte JavaScript ainsi que la redirection vers la liste si l'élément cliqué ne passe pas la validation, d'autre part, l'utilisateur sera redirigé vers la page spécifique si l'élément passé la validation (c'est à dire le Flux de travail.aspx si l'utilisateur a cliqué sur les flux de travail).Fonctions de remplacement comme AddCheckinCheckoutMenuItem de core.js dans une webpart éditeur de contenu n'a pas fonctionné pour moi (est-ce même possible?).J'ai aussi ne veux pas créer un tout nouveau BCE, c'est pourquoi je ne veux pas utiliser Custom_AddDocLibMenuItems et retourne la valeur false.

Ce que je veux dans le pseudo-code de la BCE onclick pour les non-éléments personnalisés:
if(condition) JS alert; redirect back to list; else normal behavior;

Était-ce utile?

La solution

J'ai fait ça avant, et a travaillé pour moi.Il existe plusieurs fonctions qui régissent la BCE menu et que vous pouvez remplacer (où "peut" signifie que vous avez la capacité de le faire parce que c'est du javascript, mais évidemment ce n'est pas quelque chose officiellement pris en charge, ce qui signifie qu'une future mise à jour de SharePoint ou service pack pourrait casser votre code).

Ils sont les suivants:

AddDocLibMenuItems //(the main function that shows all the ECB actions by calling the other functions listed below)
CAMOpt //(creates all the menu items)    
AddSharedNamespaceMenuItems //(show View/Edit)
AddSendSubMenu //(send to)   
AddDocTransformSubMenu //(convert document)    
AddWorkflowsMenuItem //(create the workflow menu item)
CIMOpt //(custom actions)

Voici un exemple d'un substituée CAMOpt fonction qui affiche une alerte quand le flux de travail de l'élément de menu est cliqué:

CAMOpt = function (p,wzText,wzAct,wzISrc,wzIAlt,wzISeq,wzDesc)
{ULSsa6:;
if (wzText == "Workflows") wzAct = "alert('hi there!')";    
var mo=CMOpt(wzText,wzAct,wzISrc,wzIAlt,wzISeq,wzDesc);
    if(!mo)return null;
    AChld(p,mo);
    return mo;
} 
Licencié sous: CC-BY-SA avec attribution
Non affilié à sharepoint.stackexchange
scroll top