У меня есть несколько кнопок и кнопка отправки. (Простая). Моя идея - получить значение нажатой кнопки с помощью 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">
EDIT: Если вам абсолютно необходимо использовать кнопки здесь, вы можете сделать что-то вроде этого:
<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 для вызова функции выбора с соответствующим значением кнопки.
Примечание. Эта конкретная реализация позволяет выбрать только одну кнопку (последний из которых вы нажали) - для возможности "выбрать" более одной кнопки вам понадобятся несколько скрытых полей ввода.
<button type="submit"
плюс для всех кнопок нужны уникальные атрибуты имени, чтобы это работало. Затем используйтеisset()
зависимости от нажатой кнопки.