gpt4 book ai didi

java - 如何在没有 JavaScript 的情况下设计可扩展的 HTML 表单?

转载 作者:搜寻专家 更新时间:2023-11-01 03:42:35 25 4
gpt4 key购买 nike

如果不使用 JavaScript,设计和处理一个用户可以添加任意数量的新输入字段的表单是非常乏味的。

目前我正在做以下事情:在一个表单中使用两个不同的提交按钮,一个用于添加新的输入字段,另一个用于提交表单,从而导致数据库请求。

  • 使用的方法是POST

    为了添加新的输入字段,我想使用 GET,但由于不可能在一种形式中使用两种方法,所以我必须在 POST 请求中使用它。

  • 为一种类型的输入字段做这个相当容易,但是当你需要为子表单(同一表单中的一些输入字段组)做这个时,这不仅变得乏味,而且 < strong>容易出错!

我不满意,有没有更智能的方法来实现这一点,而无需开始编写大量处理代码并进行重定向,或者至少简化实现以降低错误风险!

此外,也许 Java 提供了一个解决方案来解决这个一般优雅的问题,因为我使用的是 Java Servlet

启用 JavaScript 我会提供一个单独的解决方案,我只关心回退解决方案,这不是正常情况。

最佳答案

看,没有 JavaScript 的工作会严重限制您的能力:您必须依赖标准的 HTTP 请求/响应周期。换句话说,您必须重建一个新页面(添加一些输入字段)并每次发送这个新页面——没有解决方法。

下面是我将如何实现它:

<form action="/path/to/action" method="post">
<input name="param_a" />
<input name="param_b" />
<button type="submit" name="next_input" value="param_c">Add a field</button>
<button type="submit" name="submit">Submit your form</button>
</form>

...然后在服务器端代码中,我将检查是否发送了 next_input 参数。如果发送,它的值将用于获取要添加的控件 - 并将相应的值(例如 param_d)提供给下一个 next_input

更新:但我不禁想知道这是否真的有必要。当这些页面是典型的着陆页(由搜索机器人扫描)时,我们通常会针对“无 JS”情况进行设计。想想有些用户会在没有启用 JS 的情况下访问您的页面,但愿意在启用所有漂亮的东西的情况下使用它……好吧,至少可以说,这不是很划算。 )

关于java - 如何在没有 JavaScript 的情况下设计可扩展的 HTML 表单?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10887415/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com