Flask IntegerField, возвращающий NaN - PullRequest
0 голосов
/ 24 марта 2020

Я пытаюсь добавить счетчик в мое приложение flask, чтобы кто-то мог вести постоянный учет количества тренировок. Я пытался использовать IntegerField (), чтобы сохранить количество раз, чтобы они могли отслеживать. Вместо этого, , когда я нажимаю кнопку счетчика, он возвращает NaN, и моя кнопка обновления не работает . Я не знаю, если это что-то с формой, или я неправильно ее реализую. Счетчик работал, когда он был строго HTML / JS, он просто не сохранялся, когда я нажимал «Обновить». Вот мой код:

forms.py

class BetaForm(FlaskForm):
    streak = IntegerField('Streak')
    total = IntegerField('Total')
    submit = SubmitField('Update')

rout.py

@users.route("/betaone", methods=['GET', 'POST'])
@login_required
def beta():
    form = BetaForm()
    if form.validate_on_submit():
        current_user.streak = form.streak.data
        current_user.total = form.total.data
        db.session.commit()
        flash('Your account has been updated!', 'success')
    return render_template('betaone.html', form=form)

betaworkout . html

<p id="totalcounter">{{ form.total }}</p>
    <button onclick="addTotal()"></button>
    <button onclick="subtractTotal()"></i></button> 
<form method="POST" action="" enctype="multipart/form-data"> 
     {{ form.submit }}
</form>

бета. js

function addTotal() {
    var total = document.getElementById("totalcounter").innerHTML;
    total++;
    document.getElementById("totalcounter").innerHTML = total;
}

function subtractTotal() {
    var total = document.getElementById("totalcounter").innerHTML;
    total--;
    document.getElementById("totalcounter").innerHTML = total;
}
...