【发布时间】:2012-01-31 14:28:53
【问题描述】:
对我来说,琐碎的任务变得非常耗时。我正在为 Web 项目做非常基本的用户界面(专注于业务逻辑)。如果我的问题已经有确切答案,请重定向我,我将立即删除它。我真的不知道该搜索什么,基本的短语太模糊了。
场景:
我需要使用 /someurlrequest?edit=(idOfelement) 或 /someurlrequest?populate=(idOfElement) 获取请求,但我得到 /someurlrequest?edit=(idOfelement)&populate=(idOfElement) (GET 只是为了显示发送什么,首选POST)
每当出现一组元素时,我都希望有两个按钮,但是每当我按照我在下面显示的方式进行操作时,表单提交操作都会抓取两个值(编辑和填充)以获取请求,这意味着我无法进一步处理请求,因为我不知道在传递两个名称/值对时按下了哪个按钮,我说 Edit=1 和 Populate=1 ,我显然只想要一对 Edit=1 或 Populate=1。
<c:forEach var="TrainingProgram" items="${programbank}">
<form method="get" action="/someurlrequest">
<p> ${TrainingProgram.name}</p
<p> ${TrainingProgram.shortDescription}</p>
<p>
<input value="Edit" type="submit" />
<input name="edit" style="display: none;" value="${TrainingProgram.programId}" />
<input value="Populate" type="submit" />
<input name="populate" style="display: none;" value="${TrainingProgram.programId}" />
</p>
</form>
</c:forEach>
我将能够摆脱基本:
<a href="/somerequest/edit=${TrainingProgram.programId}"> Edit <a/>
<a href="/somerequest/populate={TrainingProgram.programId}"> Populate <a/>
但这会限制我使用 GET,正如我之前提到的,我想要 POST。
是否可以用纯 HTML 来解决它(遗漏了一些非常琐碎的东西?)? JS 解决方案也很受欢迎,尽管我只在复制粘贴黑盒级别上理解 JS,我不希望人们为我工作然后有效地责怪我,除非这真的是在 JS 中做的基本任务:-)
谢谢,
【问题讨论】:
标签: html forms controls submit