Получение точки обмена с расширенным текстовым полем в javascript

У меня есть CustomNewForm для вставки элементов в список точек доступа.

Поля «Причина» и «Обзор причин»; оба поля Multiple Line Rich Text. Мне нужно скопировать некоторый текст из «Причина» в «Обзор причины». (Подстрока) Я пытался сделать это с помощью рабочего процесса, но не смог найти решение для получения подстроки поля формы.

Я пытаюсь получить значение из поля «Причина» в javascript; но не в состоянии сделать это.

МОЙ КОД :: (не работает)

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

Любой способ сделать это??


person Vabs    schedule 02.02.2011    source источник
comment
Когда/куда вы звоните PreSaveAction()?   -  person Kit Menke    schedule 02.02.2011
comment
PreSaveAction() вызывается, когда мы нажимаем кнопку OK. Его функция sharepoint по умолчанию. Я отменил это.   -  person Vabs    schedule 03.02.2011


Ответы (1)


Я решил это, используя это

<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>
person Vabs    schedule 03.02.2011
comment
У меня аналогичная проблема с jquery после перехода на текстовое поле RichTextEditor. Этот код теперь не работает $('textarea[title$=BodyText]').val('hello'); - person Hell.Bent; 26.08.2011