首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >当HTML表单上有多个提交按钮时如何默认指定一个按钮?

当HTML表单上有多个提交按钮时如何默认指定一个按钮?
EN

Stack Overflow用户
提问于 2018-03-14 07:17:28
回答 2查看 0关注 0票数 0

我有一个有三个提交按钮的表单,如下所示:

代码语言:javascript
复制
<input type="submit" name="COMMAND" value="&lsaquo; Prev">
<input type="submit" name="COMMAND" value="Save">
<input type="reset"  name="NOTHING" value="Reset">
<input type="submit" name="COMMAND" value="Next &rsaquo;">
<input type="button" name="NOTHING" value="Skip &rsaquo;" onclick="location = 'yada-yada.asp';">

该行按钮是提交,重置和JavaScript按钮的混合。按钮的顺序可能会改变,但无论如何保存按钮保持在prev和next按钮之间。这里的问题是,当用户点击“enter”提交表单时,post变量“COMMAND”包含“Prev”; 正常,因为这是表单上的第一个提交按钮。然而,我希望当用户通过输入按钮提交表单时触发“下一步”按钮。有点像把它设置为默认的提交按钮,即使它之前有其他按钮。

EN

回答 2

Stack Overflow用户

发布于 2018-03-14 15:28:56

您可以使用浮动有效地改变顺序。例如:

代码语言:javascript
复制
<p id="buttons">
<input type="submit" name="next" value="Next">
<input type="submit" name="prev" value="Previous">
</p>

有:

代码语言:javascript
复制
#buttons { overflow: hidden; }
#buttons input { float: right; }

将有效地颠倒顺序,因此“下一步”按钮将成为按回车键触发的值。

这种技术将涵盖很多情况,而不必诉诸更多的黑客JavaScript方法。

票数 0
EN

Stack Overflow用户

发布于 2018-03-14 16:18:40

第一个按钮始终是默认的; 它不能改变。虽然可尝试使用JavaScript进行修复,但表单在浏览器中会出现意外的行为而没有脚本,并且需要考虑一些易用性/可访问性的案例。如果在该脚本中单击某个表单中的某些文本并按Enter键,那么错误的按钮将被提交.....如果在该示例中给出了真正的默认按钮是'删除'的话,将特别危险,

我的建议是忘记使用脚本黑客重新分配默认设置。随着浏览器的流程,首先放置默认按钮。如果无法破解布局以向提供所需的屏幕上订单,那么可以通过首先在源中使用一个虚拟不可见按钮来执行此操作,该按钮的名称/值与要默认设置的按钮具有相同的名称/值:

代码语言:javascript
复制
<input type="submit" class="defaultsink" name="COMMAND" value="Save" />

.defaultsink {
    position: absolute; left: -100%;
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/-100007617

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档