2011-02-17 8 views
0

페이지 레이아웃에 SharePointWebControls:UserField이 있습니다. 맞춤법 검사에서 제외해야하므로 그렇지 않으면 사용자가 선택 될 때마다 컨트롤의 코드 숨김에서 많은 수의 맞춤법 오류가 감지됩니다.sharepoint 2010에서 맞춤법 검사에서 필드를 제외하는 방법은 무엇입니까?

Sharepoint 2007에서이 동작은 excludefromspellcheck = "true"을 사용하여 구현 될 수 있지만이 문제는 Sharepoint 2010에서 작동하지 않는 것으로 보입니다. 동일한 문제가 발생하여 주변에서 문제가 발생 했습니까?

답변

1

는 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 컨트롤은 여러 요소로 구성됩니다. excludeFromSpellCheck가 최종 HTML에 포함시키는 지보기 위해 View Source를 살펴볼 것입니다. 그러나 해당 요소에 대한 속성을 설정하려면 다음과 같이 몇 가지 jQuery를 사용할 필요가 있습니다

$("(input|textarea)[id*='UserField']").attr("excludeFromSpellCheck", "true"); 
+0

정상적인 자바 스크립트로 jQuery를 사용하는 대신 작업을 수행하기 위해 좀 더 파고 들었습니다.하지만이 방법은 렌더링 된 모든 html 요소에 특성을 설정하는 데 효과적이었습니다. – Stark

0

당신은 텍스트 영역에서 "excludeContentFromSpellCheck"속성을 "true"로 설정하여 특정 필드에 대한 맞춤법 검사를 해제 할 수 있습니다 맞춤법 검사를 원하지 않는 입력 제어 기능이 있습니다.

모든 페이지 레이아웃에서이 작업을 수행했습니다. 지금은 더 이상 거짓 긍정을 갖지 않습니다.

해결 방법은 맞춤법 검사를 원하지 않는 입력란에 div 태그를 추가하고 div 태그 내의 요소에 대해 "excludeFromSpellCheck"를 "true"로 설정하는 자바 스크립트를 추가하는 것입니다.

내가 찾은 해결책은 여기에 설명되어 있습니다 : Inaccurate Spell Check on SharePoint Publishing Pages

0

조 Furner 나를 위해 일했다,이 솔루션을 기록했다.
https://www.altamiracorp.com/blog/employee-posts/spell-checking-your-custom-lay

그것은 페이지의 모든 PeoplePickers 제외 : 당신이 세우면 사람들이 다시 사람을 확인하는 값을 따는 때문에이 코드는, 부분적으로 만 작동하고

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

1 회 쓰레기 값을 선택기.

관련 문제