如何使用 javascript 更改 HTML 中的 Flask WTForm 字段值?
How to change Flask WTForm field value in HTML using javascript?
我有一个 HTML 形式的简单隐藏字段:
<input type="hidden" id="response" name="response">{{ form.response}}</div>
我想更改它的值,以便以后可以使用 flask 和 WTForms 使用它。
我试过这个:
function(token){
document.getElementById('response').value = token
}
并且正在使用有效令牌调用该函数,但没有成功。
有什么建议吗?
表单的输入字段创建如下,其中可以使用标签或验证器等附加参数。
class ExampleForm(FlaskForm):
response = HiddenField()
submit = SubmitField()
请求服务器端的值需要以下代码。
@app.route('/', methods=['GET', 'POST'])
def index():
form = ExampleForm(request.form)
if form.validate_on_submit():
print(form.response.data)
return render_template('index.html', **locals())
如果您现在在模板中呈现,属性名称和 ID 将自动设置。该值对应于输入字段分配给的变量的标识符。要查询和设置值,您可以使用带有 name 属性的选择器或输入字段的 id。
<form method="post">
{{ form.csrf_token }}
{{ form.response }}
{{ form.submit }}
</form>
<script type="text/javascript">
(() => {
const token = 'your token here';
let responseField;
// Selecting the input field based on the id attribute,
responseField = document.getElementById('response');
responseField.value = token;
// or select based on the name attribute.
responseField = document.querySelector('input[name="response"]');
responseField.value = token;
})();
</script>
我有一个 HTML 形式的简单隐藏字段:
<input type="hidden" id="response" name="response">{{ form.response}}</div>
我想更改它的值,以便以后可以使用 flask 和 WTForms 使用它。
我试过这个:
function(token){
document.getElementById('response').value = token
}
并且正在使用有效令牌调用该函数,但没有成功。
有什么建议吗?
表单的输入字段创建如下,其中可以使用标签或验证器等附加参数。
class ExampleForm(FlaskForm):
response = HiddenField()
submit = SubmitField()
请求服务器端的值需要以下代码。
@app.route('/', methods=['GET', 'POST'])
def index():
form = ExampleForm(request.form)
if form.validate_on_submit():
print(form.response.data)
return render_template('index.html', **locals())
如果您现在在模板中呈现,属性名称和 ID 将自动设置。该值对应于输入字段分配给的变量的标识符。要查询和设置值,您可以使用带有 name 属性的选择器或输入字段的 id。
<form method="post">
{{ form.csrf_token }}
{{ form.response }}
{{ form.submit }}
</form>
<script type="text/javascript">
(() => {
const token = 'your token here';
let responseField;
// Selecting the input field based on the id attribute,
responseField = document.getElementById('response');
responseField.value = token;
// or select based on the name attribute.
responseField = document.querySelector('input[name="response"]');
responseField.value = token;
})();
</script>