Colegas, bom dia!
Estou com um pequeno entrave e já estou batendo cabeça faz um bom tempo. Me socorro da experiências dos participantes desse fórum de dúvidas para saber como faço com que o campo
{data_final} seja dinamicamente alterado, na medida em que o campo {prazo} vai sendo alterado tendo como referência o campo {data_inicial} que é a data do sistema atual. O campo {prazo} é um INT e os demais são do tipo DATE. A lógica seria {data_final} = {data_inicial} + {prazo}. A data final teria que ser calculada e preenchida dinamicamente.
Obs: A macro {sc_date} nesse cenário não funciona com o evento onChange, já tentei.
para alterar dinamicamente pode usar o evento ajax / onchange no prazo…
mas acho que só somar os dias não vai funcionar… tem que usar o strtotime para isto
ex:
<?
$Data_inicio = "2022-07-31";
$Prazo = 10;
$DataFinal = date('Y/m/d', strtotime("+$Prazo days"));
echo $DataFinal;
Obrigado, Jair!!
Mas {data_inicial} = data do sistema (é atribuída pelo sistema, seu campo é label). TIPO DATE
O {prazo} é dinâmico, podem ser vários, é outra variável, pode ser 10, 30, 10000, TIPO INT
A {data_final} é outra variável que depende do prazo. TIPO DATE
Esse é o problema. Ajax, no onChange não vai, já tentei a macro {sc_date}. Aliás nem disponível para esse caso ela fica. Mas muito obrigado pela colaboração.
Ola
Sttefani Ribeiro;
Acredito que o que o Jair colocou esta certo:
{data_inicial} = date(‘Y-m-d’, strtotime(’+{prazo} days’, strtotime(date(‘Y-m-d’)));
E acho que a macro sc_date tambem daria o mesmo resultado.
E tambem tente usar o evento click ou onBlur do campo prazo, não tenho certeza se funciona no evento onChange para campo select
Atenciosamente
Moacir
Olá, tudo bem Moacir?
Obrigado mesmo pela força, percebi que o senhor até fez um “step by step”. Sou neófito na ferramenta, nesse caso, pelo que entendi, seria criar um novo método php e depois chamá-lo no evento onClick ou onBlur? Mais ou menos isso? To no caminho? Ou o senhor pode “iluminá-lo” ainda mais?
Muitíssimo obrigado e um fraternal abraço.
Vi que esta usando o campo prazo Tipo Numero e com o spin ativado:
então coloque no evento onChange:
$Prazo = {prazo};
{dataFinal} = sc_date({datainicial}, “aaaammdd”, "+ ", $Prazo, 0, 0);
E para quando estiver com o spin desativado coloque o mesmo codigo no evento onBlur
Espero ter ajudado;
Moacir
Meu amigo, Moacir!! Eu acho que tá no “prumo” essa sua solução, dá pra ver que a requisição tá sendo processada, porque aparece a bolinha rodando dizendo “aguarde”, mas quando coloco o mouse no campo data_final ela não carrega, acho que tá faltando um “cabelinho de sapo”, mas sinto que é esse o caminho, vou tentar variações em cima disso pra ver se o campo carrega, mas gostei da solução, acho que é viável. Não conseguiria sem sua valorosa ajuda!
Muito obrigado, se tiver sucesso eu posto aqui pra te deixar informado.
Forte abraço!!
Consegui, fiz umas alterações, coloquei um só parâmetro, haja vista que a data final = data inicial, então mudei seu método, data_final = data_final + prazo e funcionou!!!
Te devo uma meu amigo!! Valeu mesmo.