Jump to content
silvagno

Input date time picker

Recommended Posts

Boa tarde,

 

Tenho a seguinte input date time,  o que acontece que essa input chama sua id, porem não funciona com o meu script porque o script chama name e quando mudo para id não funciona o date time.

É um script de replaceAll, ou seja ao selecionar a data e a hora no date time em teoria deveria substituir (NOME DO CLIENTE) pela data e hora.

 

Bom, eu gostaria de saber se tem como modificar o script para chamar a id em vez do name ou ajustar a input para ser chamada por name.

$('input[name="demo3"]').change(function(){
var nome = $(this).val();
var text = $('textarea[name="nome pessoal"]').val();
$('textarea[name="nome pessoal"]').val(text.replaceAll('(NOME DO CLIENTE)',nome));
});
<input id="demo3" type="text" size="25"><a href="javascript:NewCal('demo3','ddmmmyyyy',true,24)"><img src="images/cal.gif" width="16" height="16" border="0" alt="Pick a date"></a>

 

Share this post


Link to post
Share on other sites

Pra chamar o ID é só colocar um "#" antes do id do elemento.

Ex:

<input type="text" id="meuinput">
<script>
	var meuinput = $("#meuinput").val();
</script>

 

No seu código ficaria assim:

$('#demo3').change(function(){
var nome = $(this).val();
var text = $('textarea[name="nome pessoal"]').val();
$('textarea[name="nome pessoal"]').val(text.replaceAll('(NOME DO CLIENTE)',nome));
});

Share this post


Link to post
Share on other sites
39 minutos atrás, Julio Cavallari disse:

Pra chamar o ID é só colocar um "#" antes do id do elemento.

Ex:


<input type="text" id="meuinput">
<script>
	var meuinput = $("#meuinput").val();
</script>

 

No seu código ficaria assim:


$('#demo3').change(function(){
var nome = $(this).val();
var text = $('textarea[name="nome pessoal"]').val();
$('textarea[name="nome pessoal"]').val(text.replaceAll('(NOME DO CLIENTE)',nome));
});


Oi Julio, tentei aqui e não deu certo, carrega o datetime porem não reemplaça

1.png

2.png

3.png

4.png

5.png

Share this post


Link to post
Share on other sites

Troque o método replaceAll() por replace.

O método replaceAll() substitui o elemento todo e não somente o texto dentro dele.

 

$('#demo3').change(function(){
var nome = $(this).val();
var text = $('textarea[name="nome pessoal"]').val();
$('textarea[name="nome pessoal"]').val(text.replace("(NOME DO CLIENTE)",nome));
});

Dessa maneira ao mudar o valor do input#demo3 irá alterar o valor do <textarea>. Porém o método .change() não é ativado se você alterar o valor do elemento via JavaScript como está acontecendo ai.

 

Usando .change() você só ativará a função se você mesmo alterar o valor do input#demo3

Share this post


Link to post
Share on other sites
15 horas atrás, Julio Cavallari disse:

Troque o método replaceAll() por replace.

O método replaceAll() substitui o elemento todo e não somente o texto dentro dele.

 


$('#demo3').change(function(){
var nome = $(this).val();
var text = $('textarea[name="nome pessoal"]').val();
$('textarea[name="nome pessoal"]').val(text.replace("(NOME DO CLIENTE)",nome));
});

Dessa maneira ao mudar o valor do input#demo3 irá alterar o valor do <textarea>. Porém o método .change() não é ativado se você alterar o valor do elemento via JavaScript como está acontecendo ai.

 

Usando .change() você só ativará a função se você mesmo alterar o valor do input#demo3

Julio, olha o que aconteceu, quando insiro a data através do date time ele não esta reemplaçando, porem quando eu digito a data na input ele reemplaça. o que pode ser?

Share this post


Link to post
Share on other sites
Em 30/09/2018 at 14:57, silvagno disse:

Julio, olha o que aconteceu, quando insiro a data através do date time ele não esta reemplaçando, porem quando eu digito a data na input ele reemplaça. o que pode ser?

O que acontece é que o método .change() do jQuery não é disparado quando há alguma alteração via JS no input. Por isso quando você altera pela date time não funciona. O que você pode fazer é usar um .trigger() no date time. Fazendo assim ele disparar artificialmente o método .change(). Tente alterar a função do date time, e adicione isso:

$('#demo3').trigger('change');

Logo após o date time inserir o valor no input#demo3

Share this post


Link to post
Share on other sites
Em 01/10/2018 at 21:30, Julio Cavallari disse:

O que acontece é que o método .change() do jQuery não é disparado quando há alguma alteração via JS no input. Por isso quando você altera pela date time não funciona. O que você pode fazer é usar um .trigger() no date time. Fazendo assim ele disparar artificialmente o método .change(). Tente alterar a função do date time, e adicione isso:


$('#demo3').trigger('change');

Logo após o date time inserir o valor no input#demo3

 

Obrigado por responder Julio, sou leigo nesse assunto. Por favor me confirme se o codigo final ficaria assim:

Desde já agradeço.

 

$('#demo3').change(function(){
$('#demo3').trigger('change');
var nome = $(this).val();
var text = $('textarea[name="nome pessoal"]').val();
$('textarea[name="nome pessoal"]').val(text.replace("(XXXX)",nome));
});

 

Share this post


Link to post
Share on other sites
14 horas atrás, silvagno disse:

 

Obrigado por responder Julio, sou leigo nesse assunto. Por favor me confirme se o codigo final ficaria assim:

Desde já agradeço.

 


$('#demo3').change(function(){
$('#demo3').trigger('change');
var nome = $(this).val();
var text = $('textarea[name="nome pessoal"]').val();
$('textarea[name="nome pessoal"]').val(text.replace("(XXXX)",nome));
});

 

Não, essa parte:

$('#demo3').trigger('change');

Tem que ser colocada nas funções do date time. Para você ativar o método .change() artificialmente. A função que substitui o texto está correta.

Share this post


Link to post
Share on other sites
Em 11/10/2018 at 00:52, Julio Cavallari disse:

Não, essa parte:


$('#demo3').trigger('change');

Tem que ser colocada nas funções do date time. Para você ativar o método .change() artificialmente. A função que substitui o texto está correta.

Quando você diz "colocada nas funções do date time" é colocar no arquivo .js? se sim, eu tentei e não consegui identificar o lugar correto. Deixo o link do arquivo por se pode verificar por favor.

 

arquivo.js

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By lucianfpaula
      Olá bom dia, estou com um problema, eu estou tentando fazer um select que me retorne dados de uma tabela com data igual a data do dia ou maior mas não estou conseguindo, só consigo trazer datas maiores que a do dia, mas datas igual ao dia não consigo, estou usando o seguinte select
      SELECT * FROM tabela WHERE id = 1 AND dataTermino >= NOW()
       
      Não sei se tem a ver com a data do servidor 
    • By lucianfpaula
      Olá, saudações a todos, eu tenho a seguinte duvida: preciso identificar se a data do dia esta dentro de um intervalo de datas, nos temos o seguinte sql
      "SELECT * FROM tb_cadastro WHERE datCadastro BETWEEN '2010/09/10' AND '2011/10/10'".
      O que preciso é saber se a data do dia este nesse intervalo. Tipo
      Data 01 = 01/02/2020
      Data 02 = 10/02/2020
      Data 03 = 05/02/2020
      se Data 03 estiver no intervalo de Data 01 e Data 02 faça algo se não faça nada
    • By RAFAEL HENRIQUE DE SOUZA
      Boa noite pessoal. 

      Estou com um problema e não consegui sair do lugar, tenho uma tabela de documentos (id, doc, path, ext, id_cli) e outra tabela de controle contendo o Id_documento, tipo_doc, data_criacao.
      Preciso informar se o documento listado ja foi substituído.
      A regra é a seguinte: Para o documento de mesmo cliente e mesmo tipo ele compara as datas alimentando a coluna de status para o mais recente e substituído par os demais.
      Segue o código para ajuda.

      create table `tb_documento` (
          `ID_DOCUMENTO` int (11),
          `DOCUMENTO` varchar (60),
          `PATH` varchar (60),
          `EXTENCAO` varchar (15),
          `ID_CLIENTE` int (11)
      ); 
      insert into `tb_documento` (`ID_DOCUMENTO`, `DOCUMENTO`, `PATH`, `EXTENCAO`, `ID_CLIENTE`) values('1','TESTE1','C:\\DOCUMENTOS','PDF','1');
      insert into `tb_documento` (`ID_DOCUMENTO`, `DOCUMENTO`, `PATH`, `EXTENCAO`, `ID_CLIENTE`) values('2','TESTE DOC','C:\\DOCUMENTOS','XLS','1');
      insert into `tb_documento` (`ID_DOCUMENTO`, `DOCUMENTO`, `PATH`, `EXTENCAO`, `ID_CLIENTE`) values('3','ASLJDBASIHD','C:\\DOCUMENTOS','XLS','1');
      insert into `tb_documento` (`ID_DOCUMENTO`, `DOCUMENTO`, `PATH`, `EXTENCAO`, `ID_CLIENTE`) values('4','EXTREME','C:\\DOCUMENTOS','PDF','1');
      insert into `tb_documento` (`ID_DOCUMENTO`, `DOCUMENTO`, `PATH`, `EXTENCAO`, `ID_CLIENTE`) values('5','TESTE NOVO','C:\\DOCUMENTOS','DOC','2');
      insert into `tb_documento` (`ID_DOCUMENTO`, `DOCUMENTO`, `PATH`, `EXTENCAO`, `ID_CLIENTE`) values('6','WIN','C:\\DOCUMENTOS','DOC','2');
      insert into `tb_documento` (`ID_DOCUMENTO`, `DOCUMENTO`, `PATH`, `EXTENCAO`, `ID_CLIENTE`) values('7','XTREME','C:\\DOCUMENTOS','PDF','2');
      insert into `tb_documento` (`ID_DOCUMENTO`, `DOCUMENTO`, `PATH`, `EXTENCAO`, `ID_CLIENTE`) values('8','SAMSUNG','C:\\DOCUMENTOS','XLS','2');
      insert into `tb_documento` (`ID_DOCUMENTO`, `DOCUMENTO`, `PATH`, `EXTENCAO`, `ID_CLIENTE`) values('9','CPD','C:\\DOCUMENTOS','DOC','3');
      insert into `tb_documento` (`ID_DOCUMENTO`, `DOCUMENTO`, `PATH`, `EXTENCAO`, `ID_CLIENTE`) values('10','QQWAS','C:\\DOCUMENTOS','PDF','4');
      -------------------------------------------------------------------------------------
      create table `tb_tipo_documento` (
          `ID_TIPO` int (11),
          `ID_DOCUMENTO` int (11),
          `DATA_CRIACAO` datetime 
      ); 
      insert into `tb_tipo_documento` (`ID_TIPO`, `ID_DOCUMENTO`, `DATA_CRIACAO`) values('1','1','2019-06-23 18:18:15');
      insert into `tb_tipo_documento` (`ID_TIPO`, `ID_DOCUMENTO`, `DATA_CRIACAO`) values('3','2','2019-06-24 18:19:52');
      insert into `tb_tipo_documento` (`ID_TIPO`, `ID_DOCUMENTO`, `DATA_CRIACAO`) values('2','3','2019-06-19 18:20:22');
      insert into `tb_tipo_documento` (`ID_TIPO`, `ID_DOCUMENTO`, `DATA_CRIACAO`) values('4','9','2019-06-11 18:31:21');
      insert into `tb_tipo_documento` (`ID_TIPO`, `ID_DOCUMENTO`, `DATA_CRIACAO`) values('4','10','2019-06-07 18:31:44');
      insert into `tb_tipo_documento` (`ID_TIPO`, `ID_DOCUMENTO`, `DATA_CRIACAO`) values('5','5','2019-06-26 18:32:15');
      insert into `tb_tipo_documento` (`ID_TIPO`, `ID_DOCUMENTO`, `DATA_CRIACAO`) values('1','4','2019-06-03 18:32:21');
      insert into `tb_tipo_documento` (`ID_TIPO`, `ID_DOCUMENTO`, `DATA_CRIACAO`) values('1','6','2019-06-01 18:36:17');
      insert into `tb_tipo_documento` (`ID_TIPO`, `ID_DOCUMENTO`, `DATA_CRIACAO`) values('3','7','2019-06-14 18:36:35');
      insert into `tb_tipo_documento` (`ID_TIPO`, `ID_DOCUMENTO`, `DATA_CRIACAO`) values('1','8','2019-06-20 18:36:59');
      ------------------------------------------------------------------------

      Modelo de resultado esperado:
      SELECT 
          TD.*,
          TTP.ID_TIPO,
          TTP.DATA_CRIACAO,
          '' AS 'STATUS'
      FROM 
          TB_DOCUMENTO TD
      LEFT JOIN 
          TB_TIPO_DOCUMENTO TTP ON TTP.ID_DOCUMENTO = TD.ID_DOCUMENTO;
      ----------------------------------------------------------------------
      Pessoal muito obrigado, qualquer ajuda é bem vinda!
       
    • By TeixeiraRamos
      Olá,
      Com essa "Procedures" consigo criar a coluna data e semana.
      Como poderia fazer para a "Precedures" criar uma outra coluna só com o dia e o mês, como por exemplo: 27 de fevereiro
      Obrigado
      BEGIN DECLARE var_data DATE; DECLARE var_dia VARCHAR(50); DECLARE contador INT DEFAULT 0; SET var_data = data_inicial; SET var_dia = DAYNAME(data_inicial); WHILE contador < intervalo DO INSERT INTO tb02_santosdodia(ctb02_datasantosdia, ctb02_diassemanas) VALUES (var_data, var_dia); SET contador = contador + 1; SET var_data = DATE_ADD(data_inicial, INTERVAL contador DAY); SET var_dia = DAYNAME(var_data); END WHILE; END  
       
    • By TeixeiraRamos
      Olá,
      Por favor favor, em um script tenho:
      <?php $sql = "SELECT pensamento_do_dia FROM tbpdodia WHERE data_inicio = CURRENT_DATE"; . . . ?> Meu computador a data e a hora se encontram normal.
      Contudo, 2 (duas) horas antes das 00:00 a data muda, só no site, para o dia dia seguinte.
      Ontem, 23/02/2019, às 19:00 estava no site 23/12/2019 (igual ao computador). Quando chegou mais ou menos às 22:01, abri o site já se entrava a data 24/02/2019.
      A query dentro das linhas <?php ?> também influencia. Tenho que colocar algo na sql com current_date. 
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.