按按钮发送电子邮件和 'disabled' 文本区域字段

Press button to send email and 'disabled' the text area field

我正在使用 Flask 创建我的网页。我在网络和电子邮件中添加了“联系我们”部分,一切正常,除了我试图在用户按下发送按钮后立即禁用文本的部分。现在,当用户按下“发送电子邮件”按钮时,页面开始加载,几秒钟后终于发送了电子邮件,这没问题。问题是在那几秒钟内用户仍然可以在文本区域中书写,按下按钮后写的内容不包含在电子邮件中,但我希望在按下按钮后立即“禁用”文本区域。我试过这个:

@main.route('/Contactus', methods=['POST', 'GET'])
def ContactUs():
    form=ContactUsForm()
    if form.validate_on_submit():
        form.email.render_kw = {'disabled': 'disabled'}
        form.title.render_kw = {'disabled': 'disabled'}
        form.text.render_kw = {'disabled': 'disabled'}
        email = form.email.data
        subject = form.title.data
        body = form.text.data
        contat= [email,subject,body]
        contat_us(contat)
        flash(f'Thanks for your email. Soon we will contact you through your email: {form.email.data}.', 'success')
        return redirect(url_for("main.home"))
    return render_template('Contactus.html', title='Contac us', form=form)

我认为问题是“如果”运行 立即出现,我尝试了这个:

if form.validate_on_submit():
        form.email.render_kw = {'disabled': 'disabled'}
        form.title.render_kw = {'disabled': 'disabled'}
        form.text.render_kw = {'disabled': 'disabled'}
if form.validate_on_submit():
        email = form.email.data
        subject = form.title.data
        body = form.text.data
        contat= [email,subject,body]
        contat_us(contat)
        flash(f'Thanks for your email. Soon we will contact you through your email: {form.email.data}.', 'success')
        return redirect(url_for("main.home"))

但仍然无法正常工作。有没有办法在按下“发送按钮”后使禁用文本 运行 的行排在其余行之前?

您可以在网页中使用 javascript 来禁用文本区域和单击按钮。 (使用 JQuery 之类的东西可能更容易编写)

此外,从用户体验的角度来看,在主事件循环中发送邮件并不好。您可以使用芹菜或线程之类的东西异步发送邮件。