2010-07-16 7 views
-1

SharePoint 2007에 여러 줄 텍스트 열을 자르는 요약 한 줄 텍스트 열이 있습니다. the complicated process을 통해 가면 텍스트로 바뀌므로 <div>과 같은 태그가 표시되지 않도록 다시 HTML로 변환해야합니다. 다음 코드는 여러 줄의 열이 서식있는 텍스트이지만 확장 된 서식있는 텍스트 인 경우에는 작동하지 않습니다. 누구든지이 코드를 작성하면 편리합니까? (참고 : 나는 그것에 노력하고 있지만 정말 지금까지 자바 스크립트를하지 않은, 그래서 천천히 가고있다).Javascript를 사용하여 SharePoint에서 HTML로 텍스트

<script type="text/javascript"> 
    var theTDs = document.getElementsByTagName("TD"); 
    var i=0; 
    var TDContent = " "; 
    while (i < theTDs.length) 
    { 
    try 
    { 
     TDContent = theTDs[i].innerText || theTDs[i].textContent; 
     if (TDContent.indexOf("<div") == 0) 
     { 
      theTDs[i].innerHTML = TDContent; 
     } 
    } 
    catch(err){} 
    i=i+1; 
    } 
</script> 

향상된 리치 텍스트를 사용하면 div 태그가 45 자의 잘림 제한보다 길기 때문에 결과가 표시되지 않습니다.

답변

2

크리스토프의 techniques to output HTML using a calculated column 사용 방법은 어떻습니까?

특히 그는 인코딩 된 HTML (지금 가지고있는)을 HTML로 변환하는 자바 스크립트를 작성했습니다.

같은 페이지의 CEWP (Content Editor Web Part)에 다음을 추가하십시오.

<script type="text/javascript"> 
/* 
Text to HTML Lite - version 2.1.1 
Questions and comments: [email protected] 
*/ 

function TextToHTML(NodeSet, HTMLregexp) { 
    var CellContent = ""; 
    var i=0; 
    while (i < NodeSet.length) 
    { 
     try 
     { 
     CellContent = NodeSet[i].innerText || NodeSet[i].textContent; 
     if (HTMLregexp.test(CellContent)) 
      { NodeSet[i].innerHTML = CellContent; } 
     } 
     catch(err) 
     {} 

     i=i+1; 
    } 
} 

// Calendar views 
var regexpA = new RegExp("\\s*<([a-zA-Z]*)(.|\\s)*/\\1?>\\s*"); 
TextToHTML(document.getElementsByTagName("a"),regexpA); 

// List views 
var regexpTD = new RegExp("^\\s*<([a-zA-Z]*)(.|\\s)*/\\1?>\\s*$"); 
TextToHTML(document.getElementsByTagName("TD"),regexpTD); 

</script> 
+0

나는 실제로 그 코드를 시도했지만 그 일을하지 않았지만 다시 시도 할 것입니다. –

+0

다시 시도해 보니 문제는 html 변환 전에 절단이 발생 했으므로 작업 할 큰 div 태그의 일부만있는 것입니다. 잘라내 기 전에 html 변환을 적용하는 방법을 알아야합니다. 지금은 div 칼럼이 잡히도록 충분한 칼럼으로 최종 칼럼을 변경했습니다. 이제 첨부 파일이있을 때만 필드가 깨집니다. –

+0

너비를 변경 한 후에 다시 시도했지만 작동하지 않을 것이다.이 코드는 전체 HTML 조각이있는 경우에만 작동한다고 생각하지만 사용중인 코드는 프런트 엔드에서만 작동합니다. 오래 전부터 전면 태그가 있습니다). –