注意:这是一个旧帖子的重写,以澄清被问到的内容。我可以为提交按钮设置两个值吗?
让我们假设我有一个显示一组行的单一窗体(例如,按顺序排成一行),并且我想在每行之外放置一个“删除”按钮,但不幸的是我无法创建单行表单
另外我们假设表单转到“通用行为路由”即“editCart”控制器。
为了举例,我们假设在表单中还有其他几个动作,例如将一个添加到数量中。
这必须使用同一表单中的多个提交按钮完成。
如果它只有一个单独的行,很容易,只需在按钮上添加一个名称/值,然后繁荣!完成!
<form action="/process-edition" method="post">
<div>My nice things</div>
<button type="submit" name="subAction" value="delete">Delete</button>
<button type="submit" name="subAction" value="addOne">+1</button>
</form>
这是说:“嘿,动作/process-edition
的控制器,我打算让子操作delete
”。或“子部分addOne
”。
但是,当我们有多行时,您需要说“删除本产品”或“添加本产品”之类的东西。
在这种情况下,您需要按钮提交两个值:a)子操作,b)要编辑的产品的ID。
<form action="/process-edition" method="post">
<ul>
<li>
Product 1234: 'orange'
<button type="submit" name="subAction" value1???="delete" value2???=1234>Delete</button>
<button type="submit" name="subAction" value1???="addOne" value2???=1234>+1</button>
</li>
<li>
Product 6789: 'lemmon'
<button type="submit" name="subAction" value1???="delete" value2???=6789>Delete</button>
<button type="submit" name="subAction" value1???="addOne" value2???=6789>+1</button>
</li>
</ul>
</form>
我认为在这种情况下delete
和addOne
是什么原帖问为“静态分配值”和1234
和6789
将是“隐藏”的价值观是来自数据库。该按钮“知道”该Id,但不显示该Id本身。
当然,这可以通过将多个表单设置为几个不同的控制器并在每个表单中隐藏字段来解决。但是让我们假设你已经收缩到一个已经具有表单的布局,并且你不能在其中创建多个表单,从而禁止你隔离要发送或未发送的隐藏字段。
柱的原始文本:
一个值必须对用户隐藏,另一个必须被displayed.The隐藏值是从数据库中检索与所显示的一个是静态分配值?
问题是不明确的,你要设置一个提交按钮的值属性? – developerCK 2014-10-07 12:39:06
我想你会将标题与写在按钮上方的文字混淆起来。这可能是真的吗? – DrCopyPaste 2014-10-07 12:42:20
不是一个标题! @DrCopyPaste – SaGa 2014-10-08 09:44:34