Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Note : Cet article est une traduction.
Besoin: Placer un champ texte nommé 'Application Name' en lecture seule dans le formulaire d'édition d'une liste. La liste est créée duant le provisioning du site.
Solution: Customiser l'editform de la liste en ajoutant une webpart "content editor" et du JavaScript pour rendre le champ en lecture seul. Ajoutez le code suivant dans le fichier schema.xml de la liste.
<Form Type="EditForm" Url="EditForm.aspx" Path="CustomEditForm.aspx" WebPartZoneID="Main"UseDefaultListFormWebPart="False" >
<WebParts>
<AllUsersWebPart WebPartZoneID="Main" WebPartOrder="1">
<![CDATA[
<WebPart xmlns="http://schemas.microsoft.com/WebPart/v2 ">
<Assembly>Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c</Assembly>
<TypeName>Microsoft.SharePoint.WebPartPages.ListFormWebPart</TypeName>
<PageType>PAGE_EDITFORM</PageType>
</WebPart>]]>
</AllUsersWebPart>
<AllUsersWebPart WebPartZoneID="Main" WebPartOrder="2">
<![CDATA[
<WebPart xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance " xmlns:xsd="http://www.w3.org/2001/XMLSchema " xmlns="http://schemas.microsoft.com/WebPart/v2 ">
<Title>Web part title</Title>
<FrameType>None</FrameType>
<Description>Web part description</Description>
<FrameState>Normal</FrameState>
<Assembly>Microsoft.SharePoint, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c</Assembly>
<TypeName>Microsoft.SharePoint.WebPartPages.ContentEditorWebPart</TypeName>
<ContentLink xmlns="http://schemas.microsoft.com/WebPart/v2/ContentEditor " />
<Content xmlns="http://schemas.microsoft.com/WebPart/v2/ContentEditor ">
<script>
var prev_handler = window.onload;
this.window.onload = function () {
if (prev_handler) {
prev_handler();
}
var lists = document.getElementsByTagName('input');
for ( var i = 0; i < lists.length; i++) {
if (lists[i].getAttribute('title') === 'Application Name' ) {
lists[i].readOnly = true;
}
}
</script>
</Content>
<PartStorage xmlns="http://schemas.microsoft.com/WebPart/v2/ContentEditor " />
</WebPart>
]]>
</AllUsersWebPart>
</WebParts>
</Form>
PS : Le script doit être mis à jour si le nom du champ est modifié.
Autres Langues
Cet article est également disponible dans les langues suivantes :