Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/424.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 当用户提交的信息不正确时,如何在表单中保留内容,从而赢得';我不必把所有的东西都打一遍_Javascript_Html_Forms_Flask_Registration - Fatal编程技术网

Javascript 当用户提交的信息不正确时,如何在表单中保留内容,从而赢得';我不必把所有的东西都打一遍

Javascript 当用户提交的信息不正确时,如何在表单中保留内容,从而赢得';我不必把所有的东西都打一遍,javascript,html,forms,flask,registration,Javascript,Html,Forms,Flask,Registration,我是一个新的新手,尽可能快地编码和学习。我构建了一个flask应用程序,并有一个自定义的注册和登录表单 我正在寻找一种方法,当用户单击提交时,将内容保留在注册表单或登录表单中-但是只有当他们输入的信息显示错误消息[即用户名存在、密码不匹配等]时,他们才能看到错误并更正它 我不确定我问的问题是否恰当,但搜索了多个地方,似乎找不到正确的解决方案。我相信这很简单 当满足所有标准时,我的注册和登录表单可以正常工作,但当显示错误消息时,表单会清除 你能告诉我如何解决这个问题,或者给我指一个帖子吗 这是我的

我是一个新的新手,尽可能快地编码和学习。我构建了一个flask应用程序,并有一个自定义的注册和登录表单

我正在寻找一种方法,当用户单击提交时,将内容保留在注册表单或登录表单中-但是只有当他们输入的信息显示错误消息[即用户名存在、密码不匹配等]时,他们才能看到错误并更正它

我不确定我问的问题是否恰当,但搜索了多个地方,似乎找不到正确的解决方案。我相信这很简单

当满足所有标准时,我的注册和登录表单可以正常工作,但当显示错误消息时,表单会清除

你能告诉我如何解决这个问题,或者给我指一个帖子吗

这是我的报名表:

寄存器

我同意服务条款

{{msg}} 登记

使用Twitter登录 你有帐户吗


这是我制作的一个简单示例,您现在可以看到,第一次电子邮件是空的,但在提交表单后,即使再次呈现
signup.html
文件,它也会将输入返回到页面,请注意,这只是一个示例,我没有进行任何验证

你的脚本.py

from flask import Flask, request, render_template

app = Flask(__name__)

@app.route('/signup', methods=['GET', 'POST'])
def sign_up():
  email = ""
  if request.method == "POST":
    email = request.form["email"]
  return render_template("signup.html", email=email)
signup.html

<!DOCTYPE html>
<html lang="en-us">
<head>
  <title></title>
</head>
<body>

  <form action="/signup" method="post">
    <input type="email" name="email" value="{{email}}">
    <input type="submit" value="submit">
  </form>

</body>
</html>


每次出现错误输入时,您都需要使用rendering
signup.html
将输入发送回,或者您可以使用AJAXAm I在每个if/elif语句中使用return render_template('signup.html',msg=error')来执行此操作。您只是发送错误消息,而不是用户输入。请看这里,谢谢!但看看另一个问题。我没有使用form=RegistrationForm(request.form)。我有详细信息=请求。表单。。。即使我返回render_template('signup.html',details=details,msg=error),仍然无法获取最后的输入数据。对不起,我理解得不太好…谢谢你,SaymoinSam-我知道我错在哪里了。我的html中没有值=“{email}}”。我感谢对这个新手的帮助。不客气,我很高兴能帮上忙,快乐编码;)