Skip to content

Instantly share code, notes, and snippets.

@muradddd
Last active September 28, 2020 11:40
Show Gist options
  • Save muradddd/b8327be220a623ac8bb7a2850cce1dca to your computer and use it in GitHub Desktop.
Save muradddd/b8327be220a623ac8bb7a2850cce1dca to your computer and use it in GitHub Desktop.
$("#subscribeForm").on("submit", function (event) {
event.preventDefault();
let email = $('#id_email').val();
let csrfToken = $("[name=csrfmiddlewaretoken]").val();
const requestUrl = window.location.origin + $(this).attr('action');
$.ajax({
url: requestUrl,
type: "POST",
data: { 'email': email, 'csrfmiddlewaretoken' : csrfToken, },
success: function (data) {
$("#subscribeFormResponse").html(data);
$('#id_email').val('');
},
error: function (xhr, errmsg, err) {
// console.log(xhr, errmsg, err);
$('#id_email').val('');
}
});
});
class SubscribeCreateView(CreateView):
template_name = 'femigrants/index.html'
form_class = SubscribeForm
http_method_names = ('post', )
ajax_template = 'partials/subscribe-response.html'
def post(self, request, *args, **kwargs):
if request.is_ajax():
form = SubscribeForm(request.POST)
if form.is_valid():
form_response = "Thank you for subscribing."
form.save()
else:
form_response = ' '.join(form.errors['email'])
return render(request, self.ajax_template, {"subscribeFormResponse": form_response, })
else:
return super(SubscribeCreateView,self).post(request, *args, **kwargs)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment