Campo Texto com Strings Pré-definidas Inseridas Automaticamente

Estou precisando de ideias de como fazer uma funcionalidade no meu sistema.

Tenho um campo do tipo TEXTO onde o usuário irá digitar um mensagem, e este texto terá alguns campos pré-definidos que serão depois substituídos por campos da base de dados, até aí sem problemas, mas eu não estou encontrando uma forma de inserir esses campos pré-definidos de forma automatica no texto, o que eu queria fazer era relacionar esses possíveis campos num outro campo ao lado do Texto e o usuário clica-se em um dos campos possíveis e ele fosse inserido automaticamente na posição do cursor do campo mensagem, e eu não estou sabendo como fazer isso no SC v8, alguém pode dar uma dica sobre isso ?

Grato.

Não entendi nada…

William,

Kkkkkkkkk… acho que não me expressei direito, vamos tentar novamente.

Dois campos, um do tipo texto multi-linhas chamado Mensagem, e outro um campo do tipo select chamado Campos Pré-definidos.

O campo Mensagem será digitado pelo usuário, e quando ele precisar inserir um campo pré-definido, por exemplo {NOME}, ele selecionaria esse campo no select do Campos Prédefinidos, e o sistema inclui a string {NOME} no campo Mensagem automaticamente onde está o cursor, ou no final da mensagem. Esse campo inserido, será depois substituído por um conteúdo do banco de dados.

Pois bem, eu não sei como fazer isso no SC, clicar num campo e inserir em outro campo o conteúdo selecionado, me parece algo extremamente fácil, mas num sei como fazer.

Será que fui claro agora ? :slight_smile:

a ta agora sim. :smiley:
Rapaz eu vejo isso apenas com recursos Jquery ou Javascript…
Por que o tema de inserir e fácil , agora inserir onde esta o Cursor ai fico difícil.
Salvo caso seja feita de outra forma tipo por exemplo…

O usuário esta digitando no ML (MultiLinha :slight_smile: ) y ele quer adicionar um predefinido onde esta o cursor, então o usuário deve escrever um carácter especial (para que você possa saber onde ele quer adicionar a string predefinida)… tipo assim


Estou adicionando um texto para exemplificar
Agora quero adicionar um predefinido : ? <-- estes dois seria os caracteres especiais para serem trocados. P.S= eu coloquei um espaço no meio por que si não se transforma em um Emoticon aqui na Mensagem …

Então para o campo tipo SELECT que você tem cria um evento Ajax OnChange, y faça um find/replace no campo ML.

Não sei si expliquei bem.

[MODIFICADO] A si for no final da mensagem também fica facil

Caro Willian,

Eu tentei fazer algo mais simples, mas não deu certo, eu apenas criei um evento Ajax - onChange, pegando o conteúdo do campo Mensagem e adicionando o select do campo Pré-Definidos, mas não funcionou, fiz assim no OnChange:

{Mensagem} = {Mensagem}.’ '.{Predefinidos};

O que ocorre é que no campo Mensagem não é inserido o conteúdo do select, por exemplo a string {Nome}.

Não precisaria nem fazer um find/replace, se incluir no final do texto já resolve, por que o usuário vai estar digitando o texto, ele para onde quer incluir um pré-definido, vai no select, seleciona o pré-definido, e volta para o texto para completar a mensagem.

O seu Select e do tipo Manual ou Automático (Trazendo da Banco de Dados)?

Manual

Cara eu fiz um teste rapido aqui y vai sem problemas

OnChange do predefinido

 $_mensagem = {msg};
 $_predefinidos = {predefinidos};
 $_mensagem .= ' '.$_predefinidos;
 {msg} = $_mensagem;

No meu caso o label y o valor do SELECT e o mesmo…
Mais teu label pode ser diferente do valor, lembrando que o valor que vai para o texto e Valor y não o label

William,

Descobri o por que não estava inserindo, eu criei o select com valores entre chaves, por exemplo {Nome}, e aí ele não vai, quando substitui as chaves por asteriscos Nome funcionou legal.

Seria melhor se fosse possível aceitar entre chaves, por que aí já estaria pronta para buscar o conteúdo do banco. :frowning:

Ronaldo,

Descobri o por que não estava inserindo, eu criei o select com valores entre chaves, por exemplo {Nome}, e aí ele não vai, quando substitui as chaves por asteriscos *Nome* funcionou legal.

E como vc fez para substituir Nome pelo valor que está no banco de dados?
Estou criando uma funcionalidade no meu sistema para personalizar declarações, e isso me interessa.
[]s

Allan,

Usando a função str_replace do PHP.

Ok, mas vc fez um laço para preencher os campos repetidamente?
Ou fez manualmente de um por um?

Dentro da minha rotina isso feito registro a registro quando eu vou processando cada um deles.

E para cada registro como vc substitui os vários campos que estão dentro da mensagem? Um laço ou individualmente?

Usando a função str_replace para cada campo.