Я пытаюсь добавить счетчик в мое приложение 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;
}