Как снять флажок «Добавить в качестве новой версии к существующим файлам» в диалоговом окне «Добавить документ»
-
29-09-2020 - |
Вопрос
Я работаю над сборной сайта с использованием шаблона предприятия Wiki. В настоящее время, когда пользователи хотят вставить изображение внутри богатого текстового редактора, они будут предложены следующим образом: -
И если пользователь вставил изображение, которое уже существует, то он заменит существующий, что может привести к отображению изображения внутри страницы вики, к которой она не принадлежит !!
Так есть способ сделать одно из следующих действий: -
- .
- Дайте новую картинку уникальное автоматическое созданное имя?
- не проверьте «Добавить в новую версию к существующим файлам» по умолчанию?
- или всегда предотвращать замену изображений, так как это может вызвать многие конфликты !!
Я попробовал обновлять upload.aspx, изменив
<asp:CheckBox id="OverwriteSingle" Checked="true" Text="<%$Resources:wss,upload_document_overwrite_file%>" runat="server" />
.
проверить="false" вместо проверки="True", но это не изменило ни одной вещи? Может кто-нибудь привыкнут этому, пожалуйста?
Может кто-нибудь совет? Пожалуйста?
<SharePoint:ScriptBlock runat="server">
$(document).ready(function() {
_spBodyOnLoadFunctionNames.push('DefaultUploadOverwriteOff');
$(document).ready(function () {
if (document.title == "Upload Document") {
$("input[id$='OverwriteSingle']").attr("checked", false);
$("input[id$='OverwriteMultiple']").attr("checked", false);
}
if (document.title == "Upload Image") {
$("input[id$='OverwriteSingle']").attr("checked", false);
$("input[id$='OverwriteMultiple']").attr("checked", false);
}
});
});
.
Но он не снимал флажок, вы можете совет?
Решение
Я сделал это раньше, но это было для SharePoint 2010 (см.
Используемый я использовал код ниже.Он должен быть вставлен в вашу Masterpage, непосредственно перед тегом :
<script type="text/javascript">
function DefaultUploadOverwriteOff() {
if (document.title.indexOf("Upload Document") > -1) {
var input=document.querySelectorAll("input");
for (var i=input.length; i--;) {
if (input[i].id.search(/\_OverwriteSingle$|\_OverwriteMultiple$/) > -1) input[i].checked=false
}
}
}
_spBodyOnLoadFunctionNames.push('DefaultUploadOverwriteOff');
</script>
</head>
.
Это чистый JavaScript, поэтому нет необходимости в jQuery.И он должен быть вставлен в MasterPage, поэтому нет необходимости иметь доступ к серверу.
Другие советы
Я думаю, что удерживая чекбокс решат всю вашу проблему. Как будто этот флажок не отмечен, то пользователь загрузка дубликата файла получит ошибку о том же имени файла. И для того, чтобы снять чечковки, см. Ниже подсчета.
Написание JavaScript непосредственно на файле upload.aspx, присутствующий в макетах / 15 папке, но это не рекомендуется.
Так что в этом случае вы можете написать пользовательскую функцию, имеющую управление делегатом «Дополнительные участки», чтобы ввести JavaScript, чтобы сделать флажок «не проверять».
> <script>
> _spBodyOnLoadFunctionNames.push('DefaultUploadOverwriteOff');
> $(document).ready(function() {
> if (document.title == "Upload Document") {
> $("input[id$='OverwriteSingle']").attr("checked",false);
> $("input[id$='OverwriteMultiple']").attr("checked",false);
> }});
> </script>
.
Для вашей ссылки вы можете увидеть ссылки ниже: -
function DefaultUploadOverwriteOff()
{
var inputs = document.getElementsByTagName('input');
var i=0;
for (i=0;i<inputs.length;i++)
{
var input = inputs[i];
if (input.type == 'checkbox' && (input.id.indexOf('OverwriteSingle')>-1 || input.id.indexOf('OverwriteMultiple')>-1))
input.checked = false;
}
}
_spBodyOnLoadFunctionNames.push('DefaultUploadOverwriteOff');
.