1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

Script para escrever a meio de uma textbox em html/javascript

Discussão em 'Web Development' iniciada por Noeljunior, 19 de Fevereiro de 2009. (Respostas: 4; Visualizações: 1945)

  1. Noeljunior

    Noeljunior I fold therefore I AM

    Boas

    Estava aqui a fazer uma coisita cá para casa e dava-me jeito que ao seleccionar um item numa combobox escrever o que eu quisesse no sítio onde o cursor está num outra textbox.
    Ou seja, estou a meio de um texto e quero meter uma imagem. Ele adiciona o <img ...> no meio do texto para quando eu gravar esse texto e o for ver numa outra página ele mostrar a imagem no meio do texto. Penso que me percebem.

    Obrigado desde já ;)

    Cumps
     
  2. eralha

    eralha Power Member

    Fazes um evento em js, quando selecionas a combo, les o conteudo da combo box e acrescentas ao que já tens a tag img depois passas esse codigo para a pagina e mostras pensso que e isso
     
  3. Noeljunior

    Noeljunior I fold therefore I AM

    Mais ou menos. Essa parte já ia conseguir fazer. E agora já arranjei maneira de ler a posição do cursor da textarea.

    A ideia é com esse numero escrever nesse sítio. Ou seja, usemos a string "abcdef" e sei que o cursor está no 3º caracter. Ao seleccionar a combobox ele ficava "abc<img...>def".

    Haverá como?
     
  4. Noeljunior

    Noeljunior I fold therefore I AM

    Quando meto duvidas consigo resolver o meu problema, quando nao meto não consigo. Mas geralmente quando meto as duvidas nao a resolvo aqui lol

    Bem, isto para dizer que consegui de forma simples, sem o imenso código que vimos na net. Se alguém precisar de algo parecido fica aqui um script. Não está muito organizado porque agora é que o vou trabalhar, mas está simples de perceber, julgo eu.
    Código:
    
    <form>
    <textarea type="text" name=coiso rows=4 onkeyup="g(this)" onclick="g(this)"></textarea>
    <input type="text" name="position"> 
    <input type=button name=mudar onclick="s(this)" value="mudar">
    </form>
    
    <script type="text/javascript">
    function g(el){ //chamar esta funcao com onclick e onkeyup na textbox/textarea
    var sel, rng, r2, i=-1;
    
    if(typeof el.selectionStart=="number") {
    i=el.selectionStart;
    } else if(document.selection && el.createTextRange) {
    sel=document.selection;
    if(sel){
    r2=sel.createRange();
    rng=el.createTextRange();
    rng.setEndPoint("EndToStart", r2);
    i=rng.text.length;
    }
    } else {
    el.onkeyup=null;
    el.onclick=null;
    }
    
    el.form.elements["position"].value=i;
    }
    
    function s(x) { var pos; //chamar esta a funcao para devolver o que queremos
        pos = x.form.elements["position"].value;
        ta = x.form.elements["coiso"].value;
        ta1 = ta.substring(0,pos) + "<img>" + ta.substring(pos,ta.length); //entre "" fica o que queremos por no meio da string
        alert(ta1); //a variavel ta1 é a string modificada
        }
    </script>
    
    
    
     
  5. eralha

    eralha Power Member

    tenho de lhe deitar um olho quando chegar a casa.
     

Partilhar esta Página