Descubro el motivo. Es mi error agregar código en un archivo antiguo. No me di cuenta de que había un formulario existente desde el principio y, por error, agregué otro formulario en él. Mantengo el contenido original.
Mi html y script es como a continuación. Está usando Django y es una plantilla de Django, pero creo que este es un problema que no está relacionado con Django. Muestra una lista de directorios o archivos (si los hay) que están organizados en elementos ul y li. Cuando hago clic en cualquier elemento de la lista (elemento li), espero que active un envío. Puedo ver la ventana de alerta (), pero no vi la solicitud de publicación desde el lado del servidor. Tengo un fragmento similar en otro lugar de mi proyecto y funciona, pero este no. No puedo pensar en lo que me había perdido?
<form id="id_f_sel" action="{% url 'integratedTest:addCase' %}" method="post"> {% csrf_token %} <input type="hidden" id="id_f_clked" name="f_clked" value=""> <ul id="id_dirlist"> {%for item in dirs %} <li><img src="{% static 'image/folder.png' %}" alt="unclicked folder image"> <span class="caret">{{item}}</span></li> {%endfor%} </ul> <ul id="id_flist"> {%for item in files %} <li><img src="{% static 'image/file.png' %}" alt="file image"> <span class="caret">{{item}}</span></li> {%endfor%} </ul> </form> <script> $(document).ready(function() { $('li').on('click', function() { clk_val = $(this).text() alert(clk_val) $('#id_f_clked').val(clk_val) $('#id_f_sel').submit() }); }); </script>
La pestaña de redes de Windows del desarrollador del navegador es muy limpia. Parece que no se envía ninguna solicitud. Algunas líneas "[Violation] 'click' handler tomó 1272ms" no puedo entender.
Intentaría usar un <input type="submit">
en lugar de usar un li con una función de clic. O intente evitar que se envíe su formulario y luego active la función.
¡Sigue la documentación!