Как взять значений нажатой кнопки из формы
Всем привет, у меня есть такая форма
<div class="container shadow p-5">
<h1 class="text-center">Текущий меню main</h1>
<p>1 - Register your profile</p>
<p>2 - Management</p>
<div class="d-flex justify-content-center">
<form method="POST">
<div class=""><input type="submit" value="1" class="btn btn-primary m-1" name="val1"><input type="submit" value="2" class="btn btn-primary m-1" name="val2"><input type="submit" value="3" class="btn btn-primary m-1" name="val3"></div>
<div class=""><input type="submit" value="4" class="btn btn-primary m-1" name="val4"><input type="submit" value="5" class="btn btn-primary m-1" name="val5"><input type="submit" value="6" class="btn btn-primary m-1" name="val6"></div>
<div class=""><input type="submit" value="7" class="btn btn-primary m-1" name="val7"><input type="submit" value="8" class="btn btn-primary m-1" name="val8"><input type="submit" value="9" class="btn btn-primary m-1" name="val9"></div>
<div class="d-flex w-100"><input type="submit" value="0" class="btn btn-primary w-100 m-1" name="val0"></div>
</form>
</div>
</div>
Мне надо что-бы при нажатия на одну из кнопок параметр input сохранил значение заданной кнопки
if(isset($_POST["val1"])){
$input = $_POST['val1'];
//$input = 1;
}
if(isset($_POST["val2"])){
$input = $_POST['val2'];
//$input = 2;
}
if(isset($_POST["val3"])){
$input = $_POST['val3'];
//$input = 3;
}
if(isset($_POST["val4"])){
$input = $_POST['val4'];
//$input = 4;
}
if(isset($_POST["val5"])){
$input = $_POST['val5'];
//$input = 5;
}
if(isset($_POST["val6"])){
$input = $_POST['val6'];
//$input = 6;
}
if(isset($_POST["val7"])){
$input = $_POST['val7'];
//$input = 7;
}
if(isset($_POST["val8"])){
$input = $_POST['val8'];
//$input = 8;
}
if(isset($_POST["val9"])){
$input = $_POST['val9'];
//$input = 9;
}
if(isset($_POST["val0"])){
$input = $_POST['val0'];
//$input = 0;
}
else{
$input = 1;
}
То что закоментировано я уже использовал и резулбтат тотжу, параметр input всегда имеет значение 1
Ответы (1 шт):
Автор решения: Jarry Roxwell
→ Ссылка
Submit, отправляет форму и не передает никаких значений.
UPD:
Submit, отправляет форму и не передает никаких значений.
Еща как передает. Передает из всех submitов тот который был вызван
Можно сделать иначе:
<div class="container shadow p-5">
<h1 class="text-center">Текущий меню main</h1>
<p>1 - Register your profile</p>
<p>2 - Management</p>
<div class="d-flex justify-content-center">
<form method="POST">
<input type="hidden" name="press_button" value="" id="press_button">
<div class="">
<button type="button" class="btn btn-primary m-1" onclick="send.call(this, 1)">1</button>
<button type="button" class="btn btn-primary m-1" onclick="send.call(this, 2)">2</button>
<button type="button" class="btn btn-primary m-1" onclick="send.call(this, 3)">3</button>
</div>
<div class="">
<button type="button" class="btn btn-primary m-1" onclick="send.call(this, 4)">4</button>
<button type="button" class="btn btn-primary m-1" onclick="send.call(this, 5)">5</button>
<button type="button" class="btn btn-primary m-1" onclick="send.call(this, 6)">6</button>
</div>
<div class="">
<button type="button" class="btn btn-primary m-1" onclick="send.call(this, 7)">7</button>
<button type="button" class="btn btn-primary m-1" onclick="send.call(this, 8)">8</button>
<button type="button" class="btn btn-primary m-1" onclick="send.call(this, 9)">9</button>
</div>
<div class="d-flex w-100">
<button type="button" class="btn btn-primary w-100 m-1" name="val0" onclick="send.call(this, 0)">0</button>
</div>
<script>
function send(press_value) {
this.form['press_button'].value = press_value;
this.form.submit();
}
</script>
</form>
</div>
</div>
$input = null;
if(isset($_POST['press_button']) && !empty($_POST['press_button']))
$input = (int)$_POST['press_button'];