防止在 html 中重定向按钮到页面


Prevent button to page redirect in html

我有几个按钮和一个提交按钮。(简单化)我的想法是使用 php 接收点击按钮的值,并仅在提交时显示它。在这里,我遇到了一个问题,即按钮单击本身会重定向到页面并显示值(意味着它没有等待提交按钮按下)。我遵循了这里提供的JavaScript。但没有用。有什么方法可以做到这一点吗?

<form action="calculate.php" method="POST">
<button type="" name="btn" style="background-color:#7F77AE" value="Alf">x1</button>
<button type="" name="btn" style="background-color:#7F77AE" value="ABI">y1</button>
<button type="" name="btn" style="background-color:#7F77AE" value="APE">z1</button>
<input type="submit" value="Submit">

PHP部分很简单,

 $button = $_POST['btn']; 
 echo $button;

将普通按钮的类型定义为"按钮"

<form action="calculate.php" method="POST">
<button type="button" name="btn" style="background-color:#7F77AE" value="Alf">x1</button>
<button type="button" name="btn" style="background-color:#7F77AE" value="ABI">y1</button>
<button type="button" name="btn" style="background-color:#7F77AE" value="APE">z1</button>
<input type="submit" value="Submit">

编辑:如果你绝对需要在这里使用按钮,你可以做这样的事情:

<script>
function select(val){
    document.getElementById("btnValueStore").value = val;
}
</script>
<form action="calculate.php" method="POST">
<button type="button" style="background-color:#7F77AE" onClick="select('Alf')">x1</button>
<button type="button" style="background-color:#7F77AE" onClick="select('ABI')">y1</button>
<button type="button" style="background-color:#7F77AE" onClick="select('APE')">z1</button>
<input type="hidden" value="" name="btn" id="btnValueStore">
<input type="submit" value="Submit">
</form>

首先,定义一个隐藏的输入来保存上次按下的按钮的值。

select 函数将隐藏输入字段的值更改为您传递的任何值。

对于每个按钮,设置"onClick"属性以使用相应按钮的值调用选择函数。

注意:此特定实现仅允许"选择"1个按钮(您单击的最后一个按钮) - 为了能够"选择"多个按钮,您将需要多个隐藏的输入字段。