用URL-s JavaScript替换文本链接

时间:2011-09-03 14:49:55

标签: javascript

我有一个订单提交表单,我想用相应的HTML链接替换URL文本。我在Stackoverflow上找到了以下代码:

get_url = function() {
  var urls = document.getElementById('w_descr').firstChild;
  urls.nodeValue = replaceURLWithHTMLLinks(urls.nodeValue);
}

function replaceURLWithHTMLLinks(text) {
  var exp = /(\b(https?|ftp|file):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/ig;
  return text.replace(exp,"<a href='$1'>$1</a>"); 
}

即使是表单提交按钮,我也会点击get_url()函数。它工作正常。但是,提交的订单具有编辑功能。如果您编辑订单并再次单击“提交”按钮,该功能将再次起作用并将复制现有链接。

有人可以帮我弄清楚如何防止这种情况发生?我的意思是 - 如何修改上面的脚本,以免复制已经是HTML格式的链接。

提前致谢。

1 个答案:

答案 0 :(得分:1)

始终存储文本'plain'(不带链接),只在输出要显示的文本时添加链接。

输出要编辑的文本时,输出“普通”文本。