在提交并将表格重新加载到烧瓶中时,即使表格内容为空白,表格也会发布



烧瓶(1.1.2(

我试图通过点击按钮"来清除表单的值;发布"但我不知道为什么脚本并没有在点击时执行。

Java Script实现良好的

<script type=text/javascript src="{{ url_for('static', filename='js/main.js') }}"></script>

但是参数为"onClick"的按钮没有执行函数"clear((">

<button type="submit" class="btn btn-success" id="submit" onclick="clear()">Publish</button>

形式:

<div class="entry-con">
<h1>Write own entry</h1>
<hr>
<form method="POST">
<!-- <div class="form-group">
<input class="form-control form-control-lg" type="text" name="title" placeholder="Title">
</div> -->
<div class="form-group">
<textarea class="form-control" rows="3" name="note" id="note" placeholder="Content"></textarea>
</div>
<button type="submit" class="btn btn-success" id="submit" onclick="clear()">Publish</button>
</form>
</div>

Main.js:
function clear() {
var content = document.getElementById('note')
content.value = ""
console.log()

}

views.py:

from flask import Blueprint, render_template, request, flash
from flask_login import login_required, login_user, logout_user, current_user
from .models import Note
from . import db

views = Blueprint('views', __name__)
@views.route('/', methods=['GET', 'POST'])
def index():
if request.method == 'POST':
note = request.form.get('note')
if len(note) < 1:
flash('Note is too short!', category='error')
else:
new_note = Note(data=note, user_id=current_user.id)
db.session.add(new_note)
db.session.commit()
flash('Note added!', category='success')
return render_template("index.html", user=current_user)

GitHub存储库:https://github.com/Inexpli/Flask-WebApp
它的外观:https://i.stack.imgur.com/DmhJu.png

所以,我的问题的解决方案只是在保存表单值后添加一个重定向函数,因为每当我重新加载页面时,post方法仍然保存这些值​​形式。

我仍然感到困惑的是,我必须自己找到解决方案,而这在创建web应用程序时是很常见的情况。

相关内容

最新更新