Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

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>

 

Compartilhar este post


Link para o post
Compartilhar em outros 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));
});

Compartilhar este post


Link para o post
Compartilhar em outros 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

Compartilhar este post


Link para o post
Compartilhar em outros 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

Compartilhar este post


Link para o post
Compartilhar em outros 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?

Compartilhar este post


Link para o post
Compartilhar em outros 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

Compartilhar este post


Link para o post
Compartilhar em outros 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));
});

 

Compartilhar este post


Link para o post
Compartilhar em outros 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.

Compartilhar este post


Link para o post
Compartilhar em outros 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

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por unset
      Olá, estou com uma pequena dúvida 
       
      Como transformar a data que recebemos com a função date("Y-m-d H:i") em uma string 2021-04-22T00:00 exatamente nesse formato ?
    • Por unset
      Olá, estou com um probleminha aqui se alguém puder ajudar,
       
      Eu tenho a data em uma coluna no formato date 2020-12-01 e a hora em outra coluna no formato time 09:00:00
       
      Como eu posso saber se a data de hoje é maior do que data e hora dessas 2 colunas?
    • Por thiagocola
      Eu peguei esse JSON no site do iFood e estou com dúvida de como converter esses 8 números em Time (HH:mm).
      Já tentei timestamp mas 8 dígitos é muito pequeno e já tentei ticks.
      Estou usando C#.
       
      "openingHours": [
                        {
                          "dayOfWeek": "MONDAY",
                          "openingTime": 13500000,
                          "closingTime": 97140000
                        },
                        {
                          "dayOfWeek": "TUESDAY",
                          "openingTime": 13500000,
                          "closingTime": 97140000
                        },
                        {
                          "dayOfWeek": "WEDNESDAY",
                          "openingTime": 13500000,
                          "closingTime": 97140000
                        },
                        {
                          "dayOfWeek": "THURSDAY",
                          "openingTime": 13500000,
                          "closingTime": 97140000
                        },
                        {
                          "dayOfWeek": "FRIDAY",
                          "openingTime": 13500000,
                          "closingTime": 97140000
                        },
                        {
                          "dayOfWeek": "SATURDAY",
                          "openingTime": 13500000,
                          "closingTime": 97140000
                        },
                        {
                          "dayOfWeek": "SUNDAY",
                          "openingTime": 13500000,
                          "closingTime": 97140000
                        }
                      ]
       
      Estou achando que tenho que fazer algum tipo de multiplicação ou em última hipótese, esse valor é algum identificador interno do sistema deles.
       
      Tentei converter assim:
       
      DateTime dtDateTime = new DateTime(1970, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc);
       
      var openingTime = dtDateTime.AddSeconds(13500000).ToLocalTime();
      // {06/06/1970 03:00:00}
       
      var closingTime = dtDateTime.AddSeconds(97140000).ToLocalTime();
      // {29/01/1973 05:20:00}
       
      Mas os valores que retornam não fazem sentido pra mim.
       
    • Por 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 
    • Por 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
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.