我可以为提交按钮设置两个值吗?
注意:这是对旧帖子的重写,以澄清所询问的内容。
假设我有一个显示一组行(例如,按顺序排列的行)的单个表单,并且我想在每一行旁边放置一个"删除"按钮,但不幸的是,我无法为每一行创建一个表单。
此外,让我们假设该表单转到一个"通用操作路由",即"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本身。
帖子原文:
必须对用户隐藏一个值,而必须显示另一个值。从数据库中检索隐藏的值,而显示的值是静态赋值的?
解决方案
您可以使用data-
attr
<button type="submit" name="buttonname" data-value="value2" value="Value1">value</button>
然后使用Element.getAttribute()LIVEDEMO
var buttom = document.querySelector("button");
var dataValue = buttom.getAttribute("data-value");
alert(dataValue);
这样,您只需添加data-*
最好的部分是您可以使用
<input type="submit" name="buttonname" data-value3="value3" data-value="value2" value="Value1" />
Demo如果您不喜欢button
相关文章