2

SharePointリストにアイテムを挿入するためのCustomNewFormがあります。

フィールドは「Reason」と「ReasonOverView」です。両方の複数行のリッチテキストフィールド。「Reason」から「ReasonOverview」にテキストをコピーする必要があります。(サブストリング)ワークフローでこれを実行しようとしましたが、フォームフィールドのサブストリングを取得するための解決策が見つかりませんでした。

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

マイコード::(機能していません)

<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>

これを行う方法はありますか?

4

1 に答える 1

3

これを使って解決しました

<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>
于 2011-02-03T05:20:05.590 に答える