Uncaught ReferenceError: Type n'est pas défini dans sp.runtime.js
Je suis en train d'utiliser la taxonomie Sélecteur exemple à partir d'Office PnP.
Je veux juste de lier un champ à l'un de termes de métadonnées gérées.
Les erreurs que j'ai eu sont ici:
http://screencast.com/t/nOaTusUH4V
Le code que j'ai est:
<head>
<meta charset="utf-8" />
<title>Learning bootstrap</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link href="../Content/bootstrap.min.css" rel="stylesheet" />
<link href="../Content/bootstrap-theme.min.css" rel="stylesheet" />
<link rel="Stylesheet" type="text/css" href="../Content/taxonomypickercontrol.css" />
<script src="../Scripts/jquery-2.1.1.min.js"></script>
<script type="text/javascript" src="/_layouts/15/sp.runtime.js"></script>
<script type="text/javascript" src="/_layouts/15/sp.js"></script>
<script src="../Scripts/app.js" type="text/javascript"></script>
<script src="../Scripts/taxonomypickercontrol.js" type="text/javascript"></script>
</head>
body>
<div id="divSPChrome"></div>
<div class="container">
<div class="row">
<div class="col-md-8">
<h2>Create project site</h2>
<form class="form-horizontal" role="form">
<div class="form-group">
<label for="inputEmail3" class="col-sm-2 control-label">Project name</label>
<div class="col-sm-10">
<input type="text" class="form-control" id="inputEmail3" placeholder="Project name">
</div>
</div>
<div class="form-group">
<label for="inputPassword3" class="col-sm-2 control-label">Domain</label>
<div class="col-sm-10">
<input type="text" class="form-control" id="inputPassword3" placeholder="Domain">
<div class="ms-core-form-line" style="margin-bottom: 0px;">
<input type="hidden" id="taxPickerContinent" />
</div>
</div>
</div>
Comme vous pouvez le voir, j'ai le champ caché.
Et mon App.js fichier:
//variable used for cross site CSOM calls
var context;
//variable to hold index of intialized taxPicker controls
var taxPickerIndex = {};
//Wait for the page to load
$(document).ready(function () {
//Get the URI decoded SharePoint site url from the SPHostUrl parameter.
var spHostUrl = decodeURIComponent(getQueryStringParameter('SPHostUrl'));
var appWebUrl = decodeURIComponent(getQueryStringParameter('SPAppWebUrl'));
var spLanguage = decodeURIComponent(getQueryStringParameter('SPLanguage'));
//Build absolute path to the layouts root with the spHostUrl
var layoutsRoot = spHostUrl + '/_layouts/15/';
//load all appropriate scripts for the page to function
$.getScript(layoutsRoot + 'SP.Runtime.js',
function () {
$.getScript(layoutsRoot + 'SP.js',
function () {
//Load the SP.UI.Controls.js file to render the App Chrome
$.getScript(layoutsRoot + 'SP.UI.Controls.js', renderSPChrome);
//load scripts for cross site calls (needed to use the people picker control in an IFrame)
$.getScript(layoutsRoot + 'SP.RequestExecutor.js', function () {
context = new SP.ClientContext(appWebUrl);
var factory = new SP.ProxyWebRequestExecutorFactory(appWebUrl);
context.set_webRequestExecutorFactory(factory);
});
//load scripts for calling taxonomy APIs
$.getScript(layoutsRoot + 'init.js',
function () {
$.getScript(layoutsRoot + 'sp.taxonomy.js',
function () {
//bind the taxonomy picker to the default keywords termset
//$('#taxPickerKeywords').taxpicker({ isMulti: true, allowFillIn: true, useKeywords: true }, context);
$('#taxPickerContinent').taxpicker({ isMulti: false, allowFillIn: false, useKeywords: false, termSetId: "51f18389-f28a-4961-a903-ee535f7c620d", levelToShowTerms: 1 }, context, initializeCountryTaxPicker);
taxPickerIndex["#taxPickerContinent"] = 0;
});
});
});
});
});
function initializeCountryTaxPicker() {
//if (this._selectedTerms.length > 0) {
// $('#taxPickerCountry').taxpicker({ isMulti: false, allowFillIn: false, useKeywords: false, termSetId: "0cc96f04-d32c-41e7-995f-0401c1f4fda8", filterTermId: this._selectedTerms[0].Id, levelToShowTerms: 2, useTermSetasRootNode: false }, context, initializeRegionTaxPicker);
// taxPickerIndex["#taxPickerCountry"] = 4;
//}
}
function initializeRegionTaxPicker() {
//if (this._selectedTerms.length > 0) {
// $('#taxPickerRegion').taxpicker({ isMulti: false, allowFillIn: false, useKeywords: false, termSetId: "0cc96f04-d32c-41e7-995f-0401c1f4fda8", filterTermId: this._selectedTerms[0].Id, levelToShowTerms: 3, useTermSetasRootNode: false }, context);
// taxPickerIndex["#taxPickerRegion"] = 5;
//}
}
function getValue(propertyName) {
if (taxPickerIndex != null) {
return taxPickerIndex[propertyName];
}
};
//function to get a parameter value by a specific key
function getQueryStringParameter(urlParameterKey) {
var params = document.URL.split('?')[1].split('&');
var strParams = '';
for (var i = 0; i < params.length; i = i + 1) {
var singleParam = params[i].split('=');
if (singleParam[0] == urlParameterKey)
return singleParam[1];
}
}
function chromeLoaded() {
$('body').show();
}
//function callback to render chrome after SP.UI.Controls.js loads
function renderSPChrome() {
var icon = decodeURIComponent(getQueryStringParameter('SPHostLogoUrl'));
//Set the chrome options for launching Help, Account, and Contact pages
var options = {
'appTitle': document.title,
'appIconUrl': icon,
'onCssLoaded': 'chromeLoaded()'
};
//Load the Chrome Control in the divSPChrome element of the page
var chromeNavigation = new SP.UI.Controls.Navigation('divSPChrome', options);
chromeNavigation.setVisible(true);
}
OriginalL'auteur Luis Valencia | 2014-09-19
Vous devez vous connecter pour publier un commentaire.
Type
est définie dans le MicrosoftAjax.js fichier. Vous pouvez accéder à l'aide de la suite descript
balise pour l'obtenir à partir du réseau CA:Vous n'avez pas besoin de le ScriptManager.
OriginalL'auteur Ryan Shripat
Vous chargez SP.Runtime.js et SP.js deux fois. Une fois sur la tête et sur le document de prêt. Essayez de supprimer l'un d'entre eux, mais l'erreur peut être un autre, je vois plus d'erreur 404.
Essayez d'ajouter de la console.log(votre_message) à l'intérieur de fonctions, afin de voir dans quelles point de soulever l'erreur, je pense qu'il y a certains var n'est pas initialisé.
OriginalL'auteur Max
vous êtes absent le scriptmanager. Le mettre au-dessus de
<div id="divSPChrome"></div>
Lorsque vous travaillez dans des pages html, juste essayer de référence après le chargement de jquery.
OriginalL'auteur Sander Lesage
Cela est probablement dû à l'ordre dans lequel vous enregistrez les scripts. Référencé les bibliothèques doivent être enregistrés avant de les scripts qui l'utilisent. Il est plus facile de vérifier votre page dans le navigateur, vous verrez que l'ordre dans lequel ils ont la charge.
OriginalL'auteur aahoogendoorn