首页 > 解决方案 > 如何在Flask中对SubmitField使用onclick函数(WTF SubmitField问题)

问题描述

如何使用 on-click 功能进行烧瓶SubmitField输入选项?

我想以烧瓶形式使用调用功能SubmitField,因为我想在一种形式中使用多个按钮,所以我需要一个按钮的特定功能。

class RegistrationForm(FlaskForm):
username = StringField('Username',validators=[DataRequired(), Length( min=1, max=20)])
email = StringField('Email', validators=[DataRequired(), Email()])
password = PasswordField('Password',validators=[DataRequired()])
confirm_password = PasswordField('Confirm Password',validators=[DataRequired(), EqualTo('password')])
signUpbtn = SubmitField('Sign Up')





def register():
signUpform = RegistrationForm()
if signUpform.validate_on_submit():
    flash(f'Account created for {signUpform.username.data}!', 'success')
    db_cm.insert({'username':signUpform.username.data, 'email':signUpform.email.data, 'password':signUpform.password.data})
    return redirect(url_for('home'))
#else:
#    flash('Please check input data!', 'danger ')
return render_template('register.html', title='Register', form=signUpform)

我需要添加另一个按钮如何管理?

标签: pythonflaskonclickpymongo

解决方案


如果我正确理解了这个问题,您想要呈现一个看起来像这样的按钮......

<input id="signUpbtn" name="signUpbtn" type="submit" onclick="your_submit_function()" value="Sign Up">

您可以简单地使用render_kw参数。它接受一个名称值对的字典,它呈现为 HTML 属性。

你的代码看起来像这样......

signUpbtn = SubmitField('Sign Up', render_kw={"onclick": "your_submit_function()"})

推荐阅读