Помогите заменить ссылку в текстовом поле формы гиперссылкой - PullRequest
1 голос
/ 07 марта 2011

У меня нет большого опыта с регулярными выражениями, но я предполагаю, что это то, что мне нужно использовать. У меня есть страница в Coldfusion, в которой я передаю информацию, используя несколько функций с ajax. Одним из полей формы является «комментарий». Я хотел бы иметь возможность найти любые ссылки в поле для комментариев, например: http://www.yahoo.com и заменить его рабочей ссылкой. Спасибо за любую помощь, которую вы можете предложить. Функция ниже:

<code>
function AddComment(reqid)
{
    var Comment = '';

    if(document.getElementById('Comment').value != "")
    {
        Comment = document.getElementById('Comment').value;     

        request = getRequest();
        if (!request)
         alert("Error initializing XMLHttpRequest!");

        var url = "#webroot#view-requests-action.cfm?id=" + escape(reqid) + '&Comment=' + escape(Comment) + '&section=' + 'addcomm';
    //alert(url) 
    //return;
        request.open("GET", url, false);
        request.send(null);
        window.location="view-requests.cfm?id=#url.id#&panel=0";
    }
    else
    {
    window.location="view-requests.cfm?id=#url.id#&panel=0";
    }
}   
</code>

1 Ответ

1 голос
/ 07 марта 2011

Это будет сделано с помощью JavaScript.

sampleText = "Hello World! http://www.google.com";
function InsertLinks(message)
{
    var words = message.split(" ");
    for (var i = 0; i < words.length; i++)
    {
        if (words[i].indexOf("http:") >= 0)
        {
            words[i] = '<a href="' + words[i] + '">' + words[i] + "</a>";
        }
    }
    return words.join(" ");
}       

document.getElementById("test").innerHTML = InsertLinks(sampleText);

Приведенный выше код вернёт следующее в виде строки:

Hello World! <a href="http://www.google.com">http://www.google.com<a>

-edit Это способ реализации через вашу функцию:

Comment = InsertLinks(document.getElementById('Comment').value); 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...