Stack Overflow em Português Asked on December 28, 2021
Tenho um formulario Django com esse campo “Exame vinculado” que funciona da seguinte forma: O usuario clica em Selecionar Exame, vai para outra janela em que seleciona um exame ja existente, e com isso retorna para a pagina de criacao de modo que a url informa o exame que foi selecionado (ex: http://127.0.0.1:8000/exam/create?exam_index=23201
indica que o exame 23201 foi selecionado e deve ser vinculado).
Assim, eu gostaria de, ao voltar para a tela com o exame selecionado, exibir esse id no campo (atualmente, se eu digitar um valor e clicar em salvar funciona, o que esta faltando e isso de preencher).
Tambem ja consigo pegar esse id da seguinte forma:
var param = /exam_index=([^&#=]*)/.exec(window.location.search);
var exam_id = param[1];
Tentei utilizar o “getElementById” mas nao estou conseguindo:
<div class="eight wide field" id="linked-exam-field">
<label> Exame Vinculado</label>
{{form.linked_exam}}
<a id="select-linked-exam" href = "/exam/search">
<i class="add square icon"></i>Selecionar Exame
</a>
<script>
var param = /exam_index=([^&#=]*)/.exec(window.location.search);
var exam_id = param[1];
console.log(exam_id);
//document.write(exam_id);
document.getElementById("linked-exam-field").value = exam_id;
</script>
</div>
Como posso fazer isso?
No Html:
<div id="linked_exam">{{form.linked_exam}}</div>
No script:
document.getElementById("linked_exam").innerText = exam_id;
Primeiro: no seu código você está capturando a label em vez do campo em si, logo para pegar o campo, foi posto uma tag quanquer e posto o id para assim o js pegar o objeto correto. Caso continuasse pegando a label, o código script iria sobrescrever a label. Segundo: Seu código js estava quase certo, a lógica que falta entender é a seguinte: O getElementX pega o elemento html completo, ou seja, ele usa o X para encontrar o elemento que deseja porém ele te retorna atributos, valores, class, name e etc... O uso do console.log é um grande aliado para entender e selecionar o elemento que deseja trabalhar, no seu caso que é escrever dentro do html, o elemento que quase sempre funciona é o "innerText", porém existem outras opções como o "innerHtml", vai depender muito de como foi feito, renderizado o html.
Answered by Steffany on December 28, 2021
Get help from others!
Recent Questions
Recent Answers
© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP