Запретить кнопку перенаправления на страницу в html

0

У меня есть несколько кнопок и кнопка отправки. (Простая). Моя идея - получить значение нажатой кнопки с помощью 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;
  • 0
    Вам нужен тип отправки <button type="submit" плюс для всех кнопок нужны уникальные атрибуты имени, чтобы это работало. Затем используйте isset() зависимости от нажатой кнопки.
  • 0
    @ Fred-ii-, но настройка типа кнопки для отправки показывает ту же проблему перенаправления страниц перед нажатием кнопки фактической отправки. ИЛИ я неправильно понял ваше предложение .. !!
Теги:

1 ответ

0

Определите тип простой кнопки как "кнопка"

<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 для вызова функции выбора с соответствующим значением кнопки.

Примечание. Эта конкретная реализация позволяет выбрать только одну кнопку (последний из которых вы нажали) - для возможности "выбрать" более одной кнопки вам понадобятся несколько скрытых полей ввода.

  • 0
    Если я использую <button type = "button", то кнопка echo $ пуста @Abovestand
  • 1
    Похоже, чекбоксы могут быть более подходящими здесь. Кнопки предназначены для запуска событий, а не для хранения ввода. Если вам абсолютно необходимы кнопки, вам понадобятся скрытые входы, значением которых вы манипулируете в событиях onClick кнопок.
Показать ещё 4 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню