Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

689
Visualizações
Cómo pasar una variable javascript dentro de una url get en Django

Me gustaría enviar un radio_id a mi vista. Ahora estoy tratando de obtener la identificación de mi radio por javascript, pero no sé cómo pasarlo por el método get dentro de mi url y enviarlo a la vista:

html:

 <a href="{% url 'maintenance_issue_fix' %}?radio_id=checked"> <img src="{% static 'images/maintenance_list.jpg' %}"> </a> {% for list in issue_list %} <tr style="text-transform: capitalize;"> <td style="text-align:center;"> <input name="radio_id" type="radio" id="radio_id" value="{{list.id}}"> </td> <\tr> {% endfor %}

JavaScript:

 <script> $(function(){ $('input[type="radio"]').click(function(){ if ($(this).is(':checked')) { var checked = $(this).val(); console.log(checked); } }); }); </script>

puntos de vista:

 def maintenance_issue_fix(request): if request.method == 'GET': issue_id = request.GET.get('radio_id') print(issue_id)

direcciones URL:

 urlpatterns = [ path('maintenance_issue_fix/', views.maintenance_issue_fix, name="maintenance_issue_fix"), ]

Cuando intento que la var de javascript pase dentro de la url, aparece el siguiente error:

ValueError en /maintenance/maintenance_issue_fix/ literal no válido para

int() con base 10: 'marcado'

¿Cómo hacerlo?

about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

puedes cambiar el valor href de tu enlace así

 #you add the url in data <a id="redirect-issue-fix" href="{% url 'maintenance_issue_fix' %}" data-baseurl="{% url 'maintenance_issue_fix' %}"> <img src="{% static 'images/maintenance_list.jpg' %}"> </a> {% for list in issue_list %} <tr style="text-transform: capitalize;"> <td style="text-align:center;"> <input name="radio_id" type="radio" id="radio_id" value="{{list.id}}"> </td> <\tr> {% endfor %}

JavaScript:

 <script> $(function(){ const link = $('#redirect-issue-fix'); $('input[type="radio"]').click(function(){ if ($(this).is(':checked')) { var checked = $(this).val(); # here you change the href with id of input checked and the baseurl $(link).href = $(link).data('baseurl') + "&radio_id=" + checked; console.log(checked); } }); }); </script>
about 4 years ago · Juan Pablo Isaza Relatório

0

En su etiqueta <a> ha fijado el valor checked para el parámetro de consulta. Es por eso que recibe ValueError : su aplicación espera un número entero como radio_url , pero está enviando una cadena "checked" .

Supongo que desea reemplazar el atributo href (URL de redirección) según la entrada del usuario. Esto debería funcionar:

HTML:

 <a href="{% url 'maintenance_issue_fix' %}" id="link"> <img src="{% static 'images/maintenance_list.jpg' %}"> </a>

Aquí asigné la identificación del link al elemento <a> para que pueda ser referenciado desde el código JavaScript.

JS:

 $(function(){ $('input[type="radio"]').click(function(){ if ($(this).is(':checked')) { let link = $('#link') let currentHref = link.attr("href") let newHref = currentHref.split("?radio_id=")[0] + "?radio_id=" + $(this).val() link.attr("href", newHref); } }); });

Aquí estoy cambiando la URL cada vez que el usuario hace clic en la radio. Tenga en cuenta que si no se selecciona ningún elemento, el elemento <a> redirigirá a {% url 'maintenance_issue_fix' %} sin el parámetro radio_id . Puede cambiarlo si no era el valor predeterminado que deseaba.

PD: debe evitar asignar la misma identificación ( radio_id ) a varios elementos (como lo hizo en el ciclo for). Puede usar {{list.id}} en su lugar.

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda