2010-05-26 6 views
1

textarea 값을 편집 할 때의 지점 인 이미지 URL을 삽입하려고합니다. (가) 나는 점은 텍스트 영역을텍스트 삽입 : JavaScript

감사를 편집 할 때 어디 그것을 삽입 할 필요가 원하지 않는 옆에있는 이미지 URL을 추가 내부

function addImageURL() 
{ 
var imageurl = prompt("Enter image URL", "Your name") 
var post = document.getElementById("message-put").value; 

document.getElementById('message-put').value = post + '[img]' + imageurl + '[/img]'; 
} 

이 코드는 값을 잡고

편집 :

처럼 유래, 당신은 이미지 아이콘이 표시, 당신이 그것을 클릭하거나 하이퍼 링크를 클릭, 상자가 등장하고 텍스트 영역을 편집 한 곳에 삽입 : P

,

alt text http://i45.tinypic.com/eqa7m8.png

+0

... 편집 할 때의 요점은 ... O_o –

+0

커서는 의미합니까? –

+2

... 안에있는 값은 옆에 이미지 URL을 추가합니다 ... O_o 커서가있는 텍스트 영역에 무엇인가를 삽입 하시겠습니까? –

답변

1

를 삽입 할 경우 커서에서 무엇인가, 여기 Googlez를 사용하여 찾은 것입니다 :

function insertAtCaret(areaId, text) { 
    var txtarea = document.getElementById(areaId); 
    var scrollPos = txtarea.scrollTop; 
    var strPos = 0; 
    var br = ((txtarea.selectionStart || txtarea.selectionStart == '0') ? "ff" : (document.selection ? "ie" : false)); 

    if (br == "ie") { 
     txtarea.focus(); 
     var range = document.selection.createRange(); 
     range.moveStart('character', -txtarea.value.length); 
     strPos = range.text.length; 
    } else if (br == "ff") strPos = txtarea.selectionStart; 

    var front = (txtarea.value).substring(0, strPos); 
    var back = (txtarea.value).substring(strPos, txtarea.value.length); 

    txtarea.value = front + text + back; 
    strPos = strPos + text.length; 

    if (br == "ie") { 
     txtarea.focus(); 
     var range = document.selection.createRange(); 
     range.moveStart('character', -txtarea.value.length); 
     range.moveStart('character', strPos); 
     range.moveEnd('character', 0); 
     range.select(); 
    } 

    else if (br == "ff") { 
     txtarea.selectionStart = strPos; 
     txtarea.selectionEnd = strPos; 
     txtarea.focus(); 
    } 

    txtarea.scrollTop = scrollPos; 
} 

출처 : http://www.scottklarr.com/topic/425/how-to-insert-text-into-a-textarea-where-the-cursor-is/ (테스트하지 않았습니다. 그것은 2008 년부터 약간 날짜 일 수 있습니다).