我有一个订单提交表单,我想用相应的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格式的链接。
提前致谢。
答案 0 :(得分:1)
始终存储文本'plain'(不带链接),只在输出要显示的文本时添加链接。
输出要编辑的文本时,输出“普通”文本。