Galera como eu deixo um input readonly se houver algum valor, deixo meu codigo input para entenderem melhor.
Opa, cola o código no seu tópico, fica mais fácil de ver.
Coloca um id no seu input, vou usar “exame_data” nesse exemplo:
let input = document.getElementById('exame_data');
if (input.value) {
input.readonly = true;
}
Por gentileza, não poste o mesmo tópico duas vezes. Obrigado.
Obrigado amigo, desculpa por posta duas vezes, sou novo no forum.
Aqui ninguém abre links, por protocolo de segurança.
Copie e cole aqui o código. Lembre de formatar.
Nos próximos posts, faça o que o Fefo falou.
Tenta usar:
input.setAttribute('readonly', true);
ok
Vamos supor, como faço para adicionar essa regra dentro de um form ? seria assim ?<form id="exame_data"></form>
você quer que todos os campos do formulário sejam readonly?
sim começando aparti de um div para fica mas organizado
veja o exemplo
<div class="input-group">
<span style="text-align: left;width: 137px;" class="input-group-addon">Pulsoterapia:</span>
<input class="form-data , form-control" type="text" name="pulsoterapia_01_paciente" placeholder="__/__/____" onkeypress="$(this).mask('00/00/0000')" value="<?php if(isset($row_msg_cont['pulsoterapia_01_paciente'])){ echo $row_msg_cont['pulsoterapia_01_paciente']; } ?>">
<input class="form-data , form-control" type="text" name="pulsoterapia_02_paciente" placeholder="__/__/____" onkeypress="$(this).mask('00/00/0000')" value="<?php if(isset($row_msg_cont['pulsoterapia_02_paciente'])){ echo $row_msg_cont['pulsoterapia_02_paciente']; } ?>">
<input class="form-data , form-control" type="text" name="pulsoterapia_03_paciente" placeholder="__/__/____" onkeypress="$(this).mask('00/00/0000')" value="<?php if(isset($row_msg_cont['pulsoterapia_03_paciente'])){ echo $row_msg_cont['pulsoterapia_03_paciente']; } ?>">
</div><br>
Isso precisa ser feito exatamente no JS?
Você não pode colocar o atributo readonly
nos seus inputs
?
sim tem que ser por js, pq o input puxa os dados para o value, e quando tiver value não quero que a mesagem seja editada, mais eu posso colocar um por um, so vai da mais trabalho pq a tabela aqui tem uns 100 input.
so queria deixar de forma mais dinamica, mas muito obrigado por me ajudar.Seleciona todos os elementos:
const inputs = document.querySelectorAll('[name *= "pulsoterapia_"]');
Ai faz um for e adiciona o atributo em cada input:
for (let input of inputs) {
input.setAttribute('readonly', true);
}
Tenta algo assim.
ok, já vou tentar