Как исключить поле из проверки орфографии в sharepoint 2010? - PullRequest
0 голосов
/ 17 февраля 2011

У меня есть SharePointWebControls:UserField в макете страницы, который необходимо исключить из проверки орфографии, так как в противном случае при выборе пользователя в коде позади элемента управления обнаруживается большое количество орфографических ошибок.

Похоже, что в Sharepoint 2007 такое поведение можно реализовать с помощью excludefromspellcheck = "true", но, похоже, это не работает для Sharepoint 2010. Кто-нибудь сталкивался с такой же проблемой и нашел способ ее обойти?

Ответы [ 4 ]

1 голос
/ 18 февраля 2011

На основании SpellCheckEntirePage.js, похоже, все еще так:

var elements=document.body.getElementsByTagName("*");
for (index=0; index < elements.length;++index)
{
    if (null !=elements[index].getAttribute("excludeFromSpellCheck"))
    {
        continue;
    }
    // snipped - if (elements[index].tagName=="INPUT")
    // snipped - else if (elements[index].tagName=="TEXTAREA")
}

Но excludeFromSpellCheck не является свойством UserField , поэтому он, вероятно, не будет автоматически копироваться в отображаемый HTML. При визуализации элемент управления UserField состоит из нескольких элементов. Я бы попробовал взглянуть на View Source, чтобы увидеть, превращает ли excludeFromSpellCheck в окончательный HTML. Но чтобы установить атрибут для соответствующих элементов, вам может потребоваться использовать такой jQuery, как этот:

$("(input|textarea)[id*='UserField']").attr("excludeFromSpellCheck", "true");
0 голосов
/ 27 мая 2015

Этот код работает только частично, потому что если вы снова введете значение средства выбора людей, один раз проверяя значение мусора средства выбора людей.

0 голосов
/ 23 января 2015

Джо Фернер (Joe Furner) опубликовал это решение, которое сработало для меня.
https://www.altamiracorp.com/blog/employee-posts/spell-checking-your-custom-lay

Оно исключает всех людей, выбранных на странице:

function disableSpellCheckOnPeoplePickers() {
    var elements = document.body.getElementsByTagName("*");
    for (index = 0; index < elements.length; index++) {
        if (elements[index].tagName == "INPUT" && elements[index].parentNode && elements[index].parentNode.tagName == "SPAN") {
            var elem = elements[index];
            if (elem.parentNode.getAttribute("NoMatchesText") != "") {
                disableSpellCheckOnPeoplePickersAllChildren(elem.parentNode);
            }
        }
    }
}

function disableSpellCheckOnPeoplePickersAllChildren(elem) {
    try {
        elem.setAttribute("excludeFromSpellCheck", "true");
        for (var i = 0; i < elem.childNodes.length; i++) {
            disableSpellCheckOnPeoplePickersAllChildren(elem.childNodes[i]);
        }
    } 
    catch(e) {
    }
}
0 голосов
/ 27 мая 2014

Вы можете отключить проверку орфографии для определенных полей, установив для атрибута excludeContentFromSpellCheck значение «true» в текстовой области и элементы управления вводом, которые вы не хотите проверять по буквам.

Я сделал это на всех моих макетах страниц.Теперь я больше не получаю ложных срабатываний.

Решение состоит в том, чтобы добавить тег div вокруг полей, которые вы не хотите проверять на орфографию, и добавить JavaScript, который устанавливает «excludeFromSpellCheck» в «true» для элементов внутри тега div.

Решение, которое я нашел, описано здесь: Неточная проверка орфографии на страницах публикации SharePoint

...