最近、セキュリティ制限やらで prompt が使え無い場合があって、 自分でセキュリティ設定が必要になりますが、それはとりあえず置いておいて、 テキストエリア内の選択文字列をタイトルにしたリンクの作成方法です
<script type="text/javascript"> function createURLLink() { var userAgent = window.navigator.userAgent.toLowerCase(); var appVersion = window.navigator.appVersion.toLowerCase(); var txt = ""; var strUrl = ""; if (userAgent.indexOf("msie") > -1) { var objSelectedText = document.selection var objTextRange = objSelectedText.createRange( ) if (objTextRange.text.length == 0 ) { return; } try { strUrl = prompt("URLリンク作成","http://"); if ( strUrl != "" && strUrl != "http://" && strUrl+"" != "null" ) { txt = objTextRange.text txt = "<a href=\""+strUrl+"\" target=\"_blank\">"+txt+"</a>" objTextRange.text = txt; } }catch( e ){} } else { var obj = document.getElementById("txt091231d") var ns = obj.selectionStart; var ne = obj.selectionEnd; var nl; if ( ns != ne ) { strUrl = prompt("URLリンク作成","http://"); if ( strUrl != "" && strUrl != "http://" && strUrl+"" != "null" ) { txt = obj.value.substring(ns, ne); txt = "<a href=\""+strUrl+"\" target=\"_blank\">"+txt+"</a>" nl = txt.length txt = obj.value.substring(0, ns) + txt + obj.value.substring(ne,obj.value.length); obj.value = txt; obj.setSelectionRange(ns,ns+nl); } } } } </script> <TEXTAREA id=txt091231d rows=5 wrap=off cols=50></TEXTAREA> <input type=button value="リンク作成" onClick='createURLLink()'>
タグ:javascript