Запретить прокрутку веб-страницы вверх при отправке формы - PullRequest
0 голосов
/ 14 апреля 2020

Я создал форму, которая отправляет через javascript, но каждый раз, когда я отправляю форму, веб-страница прокручивается вверх. Как мне остановить это? Я пробовал метод protectDefault (), но он не позволяет отправлять форму всем вместе.

Моя форма:

class myform(forms.Form):
columns = forms.MultipleChoiceField(required=False, label=False)

def __init__(self, columnList, *args, **kwargs):
    self.columnList = columnList
    super(myform, self).__init__(*args, **kwargs)
    self.fields['columns'].widget = forms.SelectMultiple()
    self.fields['columns'].choices = self.columnList

Моя HTML:

<p> Select tables and download as excel file:</p>
<form id="myform" method="POST" name="Tables_selected">
     {% csrf_token %}
     {{ form.as_p }} 
<input id="mybutton" type="button" class="btn btn-info" value="Download excel" onclick="redirect()"> 
</form>`

Javascript:

<script type="text/javascript" >
$(function(){
    $('#id_columns').change(function(){
        $('#myform').submit();
        return false;
    });
});
function redirect() {
    location.href="{% url 'download_excel'  %}";
}
</script>

Я пробовал это, но это предотвращает отправку формы, а также перенаправление:

    $(function(){
    $('#id_columns').change(function(){
        $('#myform').submit(function(e) {
            e.preventDefault();
            );
    });

});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...