私のライブラリ内のドキュメントのインスタンスを自分のサイト内のライブラリにコピーするようユーザーに促すための最良の (主観的.. 私は知っています. 申し訳ありません!) 方法は何ですか? 私は、特定のコンテンツ タイプを設定するにはあまりにも頻繁に作成する Word ドキュメントをいくつか持っている管理者です。そのため、コピーするためのいくつかの単語テンプレートを含むライブラリを作成しました (最も重要なのは、変更/作成されたフィールドを除いてメタデータが含まれていることです)。
ライブラリのURLと作成したいコピーの数を入力できるテキストボックスを表示フォームに配置するjavascript/jqueryメソッドをいくつか試しましたが、うまくいかないようですしたいです。これを達成する最も効率的な方法は何でしょうか? イベントハンドラーを使用していますか? もしそうなら、これらの 1 つをリボンのカスタム ボタンに関連付ける方法はありますか (私はこれらのボタンを js 関数にのみ関連付けました)。
私が使用しようとしていたJavaScript関数の例:
function copyItem() {
var itemurl = $("#copyFrom").val();
var dst = $("#copyTo").val();
$().SPServices({
operation: "GetItem",
Url: itemurl,
async: false,
completefunc: function (xData, Status) {
itemstream = $(xData.responseXML).find("Stream").text();
itemfields = "";
$(xData.responseXML).find("FieldInformation").each(function(){
itemfields+=$(this).get(0).xml;
});;
}
});
$().SPServices({
operation: "CopyIntoItems",
SourceUrl: itemurl,
async: false,
DestinationUrls: [dst],
Stream: itemstream,
Fields:itemfields,
completefunc: function (xData, Status) {
var error = $(xData.responseXML).find("CopyResult").first().attr("ErrorCode");
}
}
}
呼び出し元:
<label>from:</label><input type="text" value="" id="copyFrom" maxlength="255">
<label>to:</label><input type="text" value="" id="copyTo" maxlength="255">
<input type="button" onclick="copyItem();" value="Copy">
注: itemurl と dst に手動で値を入力しているため、現在これらのテキスト ボックスに値を入力していません。しかし、コンソールには次のように表示されます。
プロパティ 'copyItem' の値が null または未定義であり、Function オブジェクトではありません。