【问题标题】:how to use common inputs for two forms?如何为两种形式使用公共输入?
【发布时间】:2013-08-12 22:06:18
【问题描述】:

我想创建有两种形式的登录页面,一种用于登录,另一种用于注册。 但我的设计如下图(我试图在这个图中解释),我想使用嵌套形式。 登录表单在注册表中。

当用户点击登录提交数据到 login.jsp 和注册按钮提交到 register.jsp

我知道嵌套形式在 html 中是不可能的,但在 JavaScript 或 jsp 中可用的任何其他方法,所以我可以实现这个功能。

所以我想将这些电子邮件和密码输入用于登录表单和注册表。

 __________________________________________
|                                          |
|  ___________________________             |
| |                           |            |
| |                           |            |
| |  email                    |            |
| |                           |            |
| |                           |            |
| |                           |  Login     |
| |                           |            |
| |  password                 |            |
| |                           |            |
| |                           |            |
| |___________________________|            |
|                                          |
|                                          |
|  First Name                              |
|                                          |
|                                          |
|  Last Name                               |
|                                          |
|                                          |
|  Birth Day                               |
|                                          |
|                 Register                 |
|__________________________________________|

谢谢。

【问题讨论】:

  • 你需要有两个表格吗?当您添加额外的注册输入时,您可以更改表单操作吗?
  • 请出示一些代码。

标签: javascript html forms jsp servlets


【解决方案1】:

使用提交到user.jsp 的单个表单,并根据提交数据中出现的提交按钮(<input type="submit" name="login" value="Login"><input type="submit" name="register" value="Register">)进行分支。

如果遵循Login分支,忽略所有你不关心的字段。

【讨论】:

    【解决方案2】:

    表单不应嵌套。它违反了html5 working draft

    4.10.3 form 元素

    内容模型:

    流式内容,但没有表单元素后代。

    您可以创建两个单独的表单,在后一个表单中隐藏电子邮件和密码字段。然后附加一个函数,当用户单击register-按钮时,将这些字段从一个表单复制到另一个表单。

    【讨论】:

    • 这增加了对 JavaScript 的不必要依赖,而且比忽略不需要的字段要复杂得多。
    • 昆汀,您的答案只有在两种形式都具有相同的action 参数时才有效。情况并非总是如此。
    • 我的回答是应该将它们更改为具有相同的操作属性。这不是很难实现的情况(例如想要通过其中一个按钮将数据发送给第三方)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-05-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-16
    • 2020-02-25
    • 2022-01-10
    相关资源
    最近更新 更多