表单包含更多提交并通过回车提交

时间:2011-01-26 14:31:04

标签: html forms post submit form-submit

这个问题与this one有点类似。

我的电子商务解决方案中有一个表单。当您将某物插入购物车时,您可以更改项目数。购物车是一体的形式。表单有两个提交按钮 - 重新计算和继续(这将使买方进入流程的第2步)。


当用户使用输入更改项目数时,他可以点击重新计算(发送到会更改会话/数据库中的数字的应用程序)或继续(这也会发送帖子数据重新计算然后采取用户到步骤2)。

但是当用户点击进入时,重新计算按钮优先。

我想要的是让重新计算按钮提交表单,但仅在单击时提供,而不是在按Enter键提交时。相比之下,“继续”按钮也应该与输入一起使用。

解决方案绝不能使用javascript,因为前端必须在没有启用JS的情况下才能使用。

有什么想法吗?

3 个答案:

答案 0 :(得分:2)

首先在html源代码中放置优先的按钮,并使用标记反转两个按钮的位置?

编辑:你说你的布局无法处理。

或者:  1.更改布局。功能更重要,对于布局,有多种方法可以做到。  2.表格不检查是否按下了“重新计算”或“提交”,而是显示的价格与计算的奖金是否正确。例如:

用户购买1件商品,价值3美元。 用户购买2件物品,价值5美元。 总奖金:13美元。

用户现在将1项更改为4项。 3美元变成12美元,但他没有重新计算。

在表单中有一个显示总金额的字段(隐藏字段最好)。当用户提交表单时,重做计算。如果计算的奖金等于隐藏字段中的奖品,则用户知道最终的正确奖品。如果不同,请重新说明提示“您更改了购物车,总奖金已更新以反映这些更改。验证金额并提交购买”或其他内容。

答案 1 :(得分:0)

<input type="text" id="mytext" ... />
<script type="text/javascript">
document.getElementById("mytext").onkeyup = function(event) {
  if(event.keyCode=='13' || event.keyCode=='10') {
    alert('you pressed enter');
    // do whatever you want when enter is detected
  }
}
</script>

答案 2 :(得分:-1)

您应该能够决定服务器端。单击按钮时,会提交名称 - 值对,但按下return则不会。因此,在提交重新计算的名称值时更改服务器端脚本以“重新计算”,并在所有其他情况下更改为contine。