我当前正在创建一个带有菜单栏的静态网页,单击登录按钮后,(纯)javascript动态创建一个登录表单,其中包含您的标准电子邮件,密码等,并且在模式上有弹出效果。 / p>
let registerLoginAccountForm = document.createElement('form');
registerLoginAccountForm.setAttribute('role', 'form');
innerForm.appendChild(registerLoginAccountForm);
let emailInput = document.createElement('input');
emailInput.setAttribute('class', 'email');
emailInput.placeholder = 'email';
然后用window.history.replaceState()
更改URL。
我的问题是我正在使用Flask作为后端,并且我需要一种方法来验证表单的输入。 WTForms似乎是最好的答案,但这似乎需要重新加载并呈现特定的模板。目的是创建类似于以下内容的东西:
#login.html
<form class="form-login" role="form" method="post" action="">
{{ form.csrf_token }}
<p>
{{ form.email(placeholder="email") }}
<span class="error">
{% if form.email.errors %}
{% for error in form.email.errors %}
{{ error }}
{% endfor %}
{% endif %}
</span>
</p>
无需重新加载页面或使用模板文件。而是仅使用动态创建的表单将数据发送到Flask以由WTForm处理。