Ich versuche herauszufinden, wie JavaScript
in Django
ausgeführt wird, um verkettete Formulare zu erstellen. Aber am Anfang möchte ich herausfinden, wie man sogar JavaScript
laufen lässt. Ich habe eine einfache main.js
Datei erstellt, die in static
Forder ist.JavaScript läuft nicht in Django
Ich habe einen Pfad zu main.js
in den Kopf von html
hinzugefügt. Und das Skript muss laufen, wenn die Seite geladen ist (nur um sicher zu sein, dass ich vorwärts gehen kann).
Ich habe alert
am Anfang der Funktion gesetzt, damit ich sehen kann, ob die js
ausgeführt wurde. Aber ich kann keine alert
noch js
in chrome inspect
sehen.
Können Sie mir sagen, wo ist das Problem?
main.js
$(document).ready(function(){
alert("OK")
$.ajax({
url: "get-possible-levels/",
type: "POST",
data: {language: $('#id_language').val()},
})
})
Vorlage:
{% extends 'base.html' %}
{% load static %}
{% block head %}
<script src="{% static "js/main.js" %}"></script>
{% endblock %}
{% block content %}
{% if user.is_authenticated %}
<form action="" method="post" enctype="multipart/form-data">{% csrf_token %}
{{ language_form }}
<button value="Update" type="submit">Submit</button>
</form>
{% endif %}
{% endblock %}
Ausblick:
@login_required
def create_order(request):
language_form = LanguageLevelForm(request.POST or None)
return render(request,'auth/jobs/create-job-test.html',context={'language_form':language_form})
EDIT: Die main.js
scheint ausgeführt werden, aber es tut nicht alert
nichts. Ich habe inspect
geprüft (und ich habe versucht, Semikolon nach alert('ok')
zu setzen):
Ansicht der Seite Quelle in Ihrem Browser. Können Sie das Skript src sehen und darauf klicken? – jonatron
Nein! Es gibt also ein Problem mit dem Blockkopf! Danke, aber trotzdem ... jetzt ist main.js in inspect sichtbar, aber ich kann keine Warnung sehen ... –
Sie verpassen nach Ihrer Warnung ein Semikolon. Auch der Ajax wird wahrscheinlich fehlschlagen, da Sie ein CSRF-Token in den POST-Anfragedaten senden müssen. –