2

私はSharepointリストに項目を挿入するためにCustomNewFormを持っています。JavaScriptでリッチテキストボックスの共有ポイントを取得する

フィールドは「Reason」と「Reason OverView」です。両方の複数行のリッチテキストフィールド。 "Reason"から "Reason Overview"にテキストをコピーする必要があります(部分文字列) これをワークフローでやってみましたが、フォームフィールドの部分文字列を取得するソリューションが見つかりませんでした。

私はjavascriptの "Reason"フィールドから値を取得しようとしています。そうすることはできません。

MY CODE ::(動作しない)

<script type="text/javascript"> 
function PreSaveAction() 
{ 
    var Reason = getTagFromIdentifierAndTitle("textarea","TextField","Reason"); 
    var Original = getTagFromIdentifierAndTitle("textarea","TextField","Reason Overview"); 
    alert('Hi'); 
    Original.innerHTML=Reason.innerHTML; 
    return true; 
} 

function getTagFromIdentifierAndTitle(tagName, identifier, title) 
{ 
    var len = identifier.length; 

    var tags = document.getElementsByTagName(tagName); 

    for (var i=0; i < tags.length; i++) 
    { 
     var tempString = tags[i].id; 

     if (tags[i].title == title && (identifier == "" || tempString.indexOf(identifier) == tempString.length - len)) 
     { 
      return tags[i]; 
     } 
    } 
     return null; 
} 
</script> 

これが行わ取得する方法?

+0

を使用して、それを解決しましたか? –

+0

「OK」ボタンをクリックするとPreSaveAction()が呼び出されます。そのデフォルトのsharepoint機能。私はそれをオーバーライドしました。 – Vabs

答えて

3

どこに `)(` PreSaveActionを呼び出しているときに/私はこの

<script type="text/javascript"> 
function PreSaveAction() 
{ 
    var Reason = getTagFromIdentifierAndTitle("textarea","TextField","Reason"); 
    var Original = getTagFromIdentifierAndTitle("textarea","TextField","Reason Overview"); 
    var reasonText = RTE_GetEditorDocument(Reason.id); 

    var reasonOverviewText = reasonText.body.innerText; 
    if(reasonOverviewText.length>=20) 
    { 
     reasonOverviewText = reasonOverviewText.substring(0,20)+'......'; 
     Original.innerText = reasonOverviewText; 
    } 
    else 
    { 
     Original.innerText = reasonOverviewText; 
    } 
    return true; 
} 

function getTagFromIdentifierAndTitle(tagName, identifier, title) 
{ 
    var len = identifier.length; 

    var tags = document.getElementsByTagName(tagName); 

    for (var i=0; i < tags.length; i++) 
    { 
     var tempString = tags[i].id; 

     if (tags[i].title == title && (identifier == "" || tempString.indexOf(identifier) == tempString.length - len)) 
     { 
      return tags[i]; 
     } 
    } 
     return null; 
} 
</script> 
+0

richtexteditor textareaに変更した後もjqueryで同様の問題が発生しています。このコードは現在$( 'textarea [title $ = "BodyText"]')で動作しません。 – o365spo

関連する問題