Default messages

1

I have textarea where I need to add predefined texts that are my links. When you click on them, the content of ID is added at the current cursor position in textarea . I need to do this with jQuery .

Example: link

    
asked by anonymous 03.09.2015 / 02:55

1 answer

1

Setting content in id of field would not be the best choice. Remember that the function of id is to store the identifier of your field to handle it. to solve your problem and get more semantic, I would advise using a date field to save the value as below:

HTML :

<textarea name="descricao" class="form" rows="9"></textarea>
<a href="#" data-message="Bom dia, como voce esta?">Saudação</a>
<a href="#" data-message="texto do exemplo numero 2">Exemplo 2</a>
<a href="#" data-message="texto do exemplo numero 3">Exemplo 3</a>
<a href="#" data-message="texto do exemplo numero 4">Exemplo 4</a>

JavaScript :

function setarValor() {

    var menssagem = $(this).data('message'); //Pego a menssagem do campo data

    var textAreaPosition = $('textarea').prop("selectionStart"); //pego a posição do cursor no textarea

    var textAreaValue = $('textarea').val(); // pego valor do text area 

    var valorConcatenado = [textAreaValue.slice(0, textAreaPosition), menssagem, textAreaValue.slice(textAreaPosition)].join(''); // faço a concatenação da menssagem na posição

    $('textarea').val(valorConcatenado); //seto valor no textarea
}

//Ele execulta após toda a pagina ser renderizada
$(document).ready(function () {

    //seto de click nos seus links
    $('a').click(setarValor);
});

Follow jsfiddle for change

    
03.09.2015 / 03:05