Près-requis
Avoir deux listes SharePoint :- Liste A
- Liste B
Dans le formulaire d'ajout d'item (NewForm.aspx), apparait deux listes de sélections:
Le besoin est d'avoir la liste de sélection de droite déjà remplis, au moment de l'ajout d'un item.
Ajouter des valeurs par défaut
1 - Sur le bouton
Sur le bouton / lien, ... accédant au formulaire d'ajout, par exemple :Ajouter à l'url, le paramètre suivant : NewForm.aspx?itemId=44
"44" correspond à l'ID d'un item de la Liste A.
2 - Sur la page contenant le formulaire d'ajout
Ajouter JQuery dans votre page NewForm.aspxPuis les fonctions JS suivante:
<script>
$(document).ready(function() { // select var itemId = getUrlVars()["itemId"]; var opt = $("option[value='" + itemId + "']"); if (opt != null){ $("select[title='%ColumnName% - Valeurs sélectionnées']")
.html('<option title="'+opt.text()+'" value="'+itemId +'">'
+opt.text()
+'</option>'); // input hidden $("#%Id_Input_Hidden%").val(itemId + '|t' + opt.text()); opt.remove(); }
});
function getUrlVars() { var vars = [], hash; var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&'); for(var i = 0; i < hashes.length; i++) { hash = hashes[i].split('='); vars.push(hash[0]); vars[hash[0]] = hash[1]; } return vars; }
</script>
La fonction getUrlVars() recherche le paramètre URL itemId et retourne sa valeur.
Il vous faut spécifier :
- %ColumnName% : correspond au nom de votre colonne (ici, c'est "Liste B")
- %Id_Input_Hidden% : correspond à l'ID de la balise <input> caché présent dans le code HTML. Pour le découvrir:
- Ouvrer la page NewForm.aspx avec Firefox.
- Lancer Firebug.
- Sélectionner la sélection:
- Puis naviguer aux éléments du dessus
- Copier l'ID du 1er <input> caché, il s'agit de votre %Id_Input_Hidden% :
Voilà, lorsque vous ouvrer la page NewForm.aspx?itemId=44, la sélection de la liste droite contient la référence donnée en paramètre.
Aucun commentaire:
Enregistrer un commentaire