【发布时间】:2019-11-13 20:02:08
【问题描述】:
如果我有一个带有两个提交按钮的简单 html 表单:
<form method="POST" class="submit_form main_form" action="myaction">
<input type="submit" name="goback" value="Go Back" />
<input type="submit" name="confirm" value="Confirm">
<input type="hidden" name="secret" value="hello"/>
</form>
如果点击“确认”提交,是否可以只发布隐藏的输入?
如果单击“返回”提交,则应忽略隐藏的输入。我知道如何使用 JavaScript 来完成此操作,但想知道是否可以仅使用 html 来完成。
对于任何想知道的人,这就是您在 JavaScript 中执行此操作的方式:
<script>
var elements = document.getElementsByClassName('submit_form');
elements[0].addEventListener(
'submit',
function(event) {
if(event.explicitOriginalTarget.name === 'goback'){
var hiddenInput = document.querySelector("input[name='step']");
hiddenInput.setAttribute("disabled", "disabled");
}
}
);
</script>
【问题讨论】:
-
如果您真的想要,请在点击确认时创建一个事件,附加一个字段,然后提交表单。
-
您是否需要发送任何其他数据,只排除机密?或者您只是想转到另一个页面而不发送任何内容?纯 html 解决方案有一个链接,您可以将其设置为按钮样式,并且无需提交即可将您重定向。
-
@DanyalSandeelo 如果可能的话,我想在没有 JS 的情况下这样做。
-
@smartilabs 表格还有更多内容,这只是一个基本示例,看看这是否真的可行。它仍然需要提交一些其他输入数据。
-
创建表单时PHP在服务器上运行,用户填写表单时它不在循环中。
标签: javascript html forms input