HTMLとJavaScriptを使用していくつかのWebページを作成しており、最終結果を特定のSharePointリストにアップロードする必要があります。私はこれを行う方法のトンの詳細を発見したが、1日目から私は1つの問題だけで立ち往生しています。私はリンクの下のhteで与えられるすべての可能な組み合わせを試しました。JavaScriptを使用したSharePointリストの更新
しかし、私は同じエラーを持ち続ける一日の終わり。 'SP'は未定義です。
少し前提をつけてください。私はWebページを作成しており、Webページは共有サイトのSharePointサイトに保存されています。ここで、特定のSharePointサイトの共有フォルダにある特定の格納されたWebページを直接開くリンクをクリックするためのハイパーリンクがエンドユーザーに提供されます。以下はそのコードです。私は本当に小さいものを見逃すかもしれないことを知っています。
<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>
メモこのコードを書き、Internet ExplorerのF12を使用してコードの実行方法を確認するには、メモ帳を使用しています。
ありがとう、私はそれをテストしており、私はこのSharePointサイトへの完全なアクセス権を持っています。 WebページはSharePointサイトに保存されます。詳細が必要な場合はお知らせください。 –
SPを書いてみてください。開発ツールのコンソール(IEのF12)で、オプションがあるかどうか確認してください。 – Robin