Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

692
Vistas
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 Respuestas
Responde la pregunta

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 Denunciar

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 Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda