Share Point 2013のリスト「ハイパーリンクまたは画像」で画像ファイルを添付したい場合事前にファイルのアップロードが必要です。
事前にドキュメントフォルダ等にアップロードしたファイルのリンクを張り付けるのではなく、 ファイルを選択してアップロードしそのURLを自動で入力したい場合の方法です。

画像の赤囲みの部分をクリックするとファイルアップロードのダイアログボックスを開くようにします。
以下のソールのファイルを作ります。
<script src="https://xxxx.yyyy.zzzz.com/Template/jquery-2.1.1.js"></script>
<script>
$(document).ready(function(){
$('input[title="test_image"]').on("click",function(e){
e.preventDefault();
openInDialog(600,200,true,true,true, 'https://xxxx.yyyy.zzzz.com/_layouts/15/Upload.aspx?List={aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee}&RootFolder=');
});
});
function openInDialog(dlgWidth, dlgHeight, dlgAllowMaximize, dlgShowClose, needCallbackFunction, pageUrl) {
var options = {
url: pageUrl, width: dlgWidth, height: dlgHeight, allowMaximize: dlgAllowMaximize, showClose: dlgShowClose
};
if (needCallbackFunction) {
options.dialogReturnValueCallback = Function.createDelegate(null, CloseDialogCallback);
}
SP.SOD.execute('sp.ui.dialog.js','SP.UI.ModalDialog.showModalDialog', options);
}
function CloseDialogCallback(dialogResult, returnValue) {
if (dialogResult == SP.UI.DialogResult.OK) {
if (returnValue.newFileUrl != null){
var library = returnValue.newFileUrl;
// var url = "https://" + location.host + _spPageContextInfo.webServerRelativeUrl + library;
var url = "https://" + location.host + library;
$('input[title="test_image"]').val(url);
}
}
else if (dialogResult == SP.UI.DialogResult.cancel) {
}
else {
}
}
</script>
JQueryが必要ですので、JQueryのファイルもアップロードします。
・https://xxxx.yyyy.zzzz.comの、xxxx.yyyy.zzzz.comはShare Pointサーバーのアドレスになりますので環境に合わせて変更してください。
・List={aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee}は、画像ファイルをアップロードするライブラリを指定します。
・test_imageは、ハイパーリンクまたは画像の列名です。作成した列目に合わせて変更してください(2カ所)。
次に「既定の新しいフォーム」を編集し、上記のJavaScriptを実行できるようにします。

「コンテンツエディター」のWebパーツを配置して、リンクにJavaScriptをアップロードした先のURLを記述します。

以上で、ハイパーリンクまたは画像の入力欄をクリックすることで、ファイルのアップロードダイアログを表示させることができます。


