Я создаю некоторые веб-страницы, используя HTML и JavaScript, и конечный результат должен быть загружен в данный список SharePoint. Я нашел массу подробностей о том, как это сделать, но с самого первого дня я застрял только в одном вопросе. Я пробовал все возможные комбинации, которые даны в hte ниже ссылки.Обновление списка SharePoint с использованием JavaScript
Но конец дня я продолжаю иметь ту же самую ошибку. «SP» не определен.
Чтобы дать вам небольшую заднюю поверхность. Я создал веб-страницы, и веб-страница хранится на сайте SharePoint в общих папках. Теперь для конечного пользователя предоставляется гиперссылка, чтобы щелкнуть ссылку, непосредственно открывающую данную сохраненную веб-страницу в общей папке данного сайта SharePoint. Ниже приведен код. Я знаю, что у меня может быть что-то действительно малое.
<html>
<head>
<SCRIPT LANGUAGE="JavaScript">
function preparePage()
{ //Hide Execution lead
if(document.getElementById("ExeLead").style.display=='none'){
document.getElementById("ExeLead").style.display = '';
}
else {
document.getElementById("ExeLead").style.display = 'none';
}
getDetails();
}
function getParam(name)//to get details that is passed via url
{
name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
var regexS = "[\\?&]"+name+"=([^&#]*)";
var regex = new RegExp(regexS);
var results = regex.exec(window.location.href);
results[1] = results[1].replace(/%20/g," ");
if(results == null)
return "NA";
else
return results[1];
}
function getDetails()//extract info form URL
{
frmUpdates.txtBIStatus.value=getParam("Status");
frmUpdates.txtBINumber.value=getParam("BINo");
}
var siteUrl = 'Url to the SharePoint site';
SP.SOD.executeFunc("sp.js", createListItem());
/*if(!SP.SOD.executeOrDelayUntilScriptLoaded(createListItem, 'sp.js')){
LoadSodByKey('sp.js');
};*/
//LoadSodByKey('sp.js');
function createListItem() {
var clientContext = new SP.ClientContext(siteUrl);
var oList = clientContext.get_web().get_lists().getByTitle('Announcements');
var itemCreateInfo = new SP.ListItemCreationInformation();
this.oListItem = oList.addItem(itemCreateInfo);
oListItem.set_item('IdeaRef', 'My New Item');
oListItem.set_item('Status', 'Hello World!');
oListItem.update();
clientContext.load(oListItem);
clientContext.executeQueryAsync(Function.createDelegate(this, this.onQuerySucceeded), Function.createDelegate(this, this.onQueryFailed));
}
function onQuerySucceeded() {
alert('Item created: ' + oListItem.get_id());
}
function onQueryFailed(sender, args) {
alert('Request failed. ' + args.get_message() + '\n' + args.get_stackTrace());
}
</Script>
<title>Tool</title>
</head>
<body onLoad="preparePage()">
<form name="frmUpdates">
<table border="5" width="444">
<tr>
<td width="344" height="35" colspan="2"> Tool</td>
</tr>
<tr>
<td width="144" height="35">Bright Idea #:</td>
<td width="300"> <input type="text" name="txtBINumber" size="40"></td>
</tr>
<tr>
<td width="144" height="35">Bright Idea Status</td>
<td width="300"> <input type="text" name="txtBIStatus" size="40"></td>
</tr>
<tr id="ExeLead">
<td width="144" height="35">Assign Execution Lead</td>
<td width="300" height="35"> <input type="text" name="txtExecutionLead" size="40"></td>
</tr>
<tr>
<td width="144" height="35" colspan="2">Comments</td>
</tr>
<tr>
<td width="444" height="150" colspan="2"> <textarea rows="8" cols="48" name="txtComments" from="frmComments">Enter your comments here....</textarea></td>
</tr>
<tr>
<td width="444" height="35" colspan="2"> <input type="button" value="Submit" name="btnSubmit" onclick="createListItem()"></td>
</tr>
</table>
</form>
</body>
</html>
Примечание Я использую Блокнот, чтобы написать этот код и с помощью клавиши F12 в Internet Explorer, чтобы проверить, как код работает.
Спасибо, я тестирую его, и у меня есть полный доступ к этому сайту SharePoint. Веб-страница хранится на сайте SharePoint. Дайте мне знать, если вам нужно больше деталей. –
Хорошо. Не могли бы вы просто написать SP. в консоли в инструментах dev (F12 в IE) и посмотреть, есть ли у вас какие-либо опции? – Robin