Можно ли передать с input type="button" данные в форму php скрипта?

xoxol4uk22
На сайте с 14.11.2017
Offline
61
365

Помогите, пожалуйста, хоть общим советом. Как решить проблему?

Есть форма обратной связи, которая получает данные по тегу name из полей input type="text" и textarea и отправляет на почту.

Я добавил 2 кнопки <input type="button". Эти кнопки я хочу использовать в качестве input type="radio". Т.е. чтобы пользователь нажимал на одну из них и ее значение передавалось в форму. Но возможно ли такое? Способна ли такая кнопка отправить данные? А то я в php ни бум-бум... В js получить бы при клике даренные сумел бы.

Выглядит это примерно вот так:


<H3>Выберите комплект для заказа:</H3>
<input type="button" class="but-first" name="zakaz-1" id="zakaz-1" value="Комплект №1"> // Моя первая кнопка
<input type="button" class="but-second" name="zakaz-2" id="zakaz-2" value="Комплект №2"> // Моя вторая кнопка

<input type="text" name="name" id="author" placeholder="Ваши Ф.И.О." required>
<input type="text" name="phone" id="phone" placeholder="Телефон" required>
<textarea rows="2" name="message" id="comment" placeholder="Комментарий к заказу (не обязательно)"></textarea>
<button type="submit" id="submit" class="go">Оформить</button>

И код php:

<?php
$post = (!empty($_POST)) ? true : false;
if($post) {
$zakaz = $_POST['zakaz-1'];
$phone = $_POST['phone'];
$name = $_POST['name'];
$message = $_POST['message'];
$error = '';
if(!$name) {$error .= 'Введите Ф.И.О. ';}
if(!$phone) {$error .= 'Введите номер телефона ';}
if(!$error) {
$address = "mymail@gmail.com";
$mes = "Имя: ".$name."\n\nТелефон: ".$phone. "\n\nТовар: ".$zakaz-1. "\n\nКомментарий: ".$message."\n\n";
$send = mail ($address,"Заказ",$mes,"Content-type:text/plain; charset = UTF-8\r\nFrom:$email");
if($send) {echo 'OK';}
}
else {echo '<div class="err">'.$error.'</div>';}
}
?>

В общем хоть просто суть подскажите, возможно ли таким способом отправить со страницы данные value или name нажатой кнопки простым путем в форму. Или это полный бред? Если да, то должны ли быть у них name разными? А если нет, то какая альтернатива? Через radio ? Тогда может подскажете, как примерно его значение в переменную php формы передать?

Samail
На сайте с 10.05.2007
Offline
328
#1
xoxol4uk22:
Но возможно ли такое? Способна ли такая кнопка отправить данные? А то я в php ни бум-бум... В js получить бы при клике даренные сумел бы.

Так данные формы и не php отправляет. Да и формы в приведённом коде нет, только поля отдельные.

$("input[type='button']").click(function(){
var button = $(this).val();
// тут post запрос к php
});


---------- Добавлено 10.10.2019 в 23:58 ----------

Хотя непонятно, нужно что-бы при нажатии на кнопку сразу отправлялось, или что-бы в форме где-то указывалось это значение которое потом передастся с остальными данными.
IL
На сайте с 20.04.2007
Offline
412
#2
xoxol4uk22:
Т.е. чтобы пользователь нажимал на одну из них и ее значение передавалось в форму. Но возможно ли такое?

Если нужна отправка при нажатии на кнопку - button

<button name="z3" value="z3">blabla</button>

Если нужно, чтобы кнопка "нажималась", но не отправлялась - по сути это radiobutton, а визуализацию - при помощи css

xoxol4uk22
На сайте с 14.11.2017
Offline
61
#3
Samail:


Хотя непонятно, нужно что-бы при нажатии на кнопку сразу отправлялось, или что-бы в форме где-то указывалось это значение которое потом передастся с остальными данными.

Второй вариант. Да, в терминологии немного путаюсь, поэтому местами сложно понять меня) Спасибо, сейчас попробую)

Samail
На сайте с 10.05.2007
Offline
328
#4
xoxol4uk22:
Второй вариант.

Тогда вопрос как данные отправляются. Код ту явно не полный. Либо эти поля внутри тега form находятся, либо какой-то js отправляет их, либо они внутри form но отправляет всё равно js.

xoxol4uk22
На сайте с 14.11.2017
Offline
61
#5
Samail:
Тогда вопрос как данные отправляются. Код ту явно не полный. Либо эти поля внутри тега form находятся, либо какой-то js отправляет их, либо они внутри form но отправляет всё равно js.

Да, внутри тега Form. То я просто взял "срединку". Js задействован, но он лишь скрывает поля и выдает новые, чтобы не перезагружать страницу. Полный код хтмл вот так:

<form id="contact" action="/mail.php" method="post">
<div class="buttons">
<input type="button" class="but-first" name="zakaz1" id="zakaz" value="150 грн. - комплект №1">
<input type="button" class="but-second" name="zakaz" id="zakaz" value="160 грн. – комплект №2">
</div>
<input type="text" name="name" id="author" placeholder="Ваши Ф.И.О." required>
<input type="text" name="phone" id="phone" placeholder="Телефон" required>
<textarea rows="2" name="message" id="comment" placeholder="Комментарий к заказу (не обязательно)"></textarea>
<button type="submit" id="submit" class="go">Оформить</button>

</form>


---------- Добавлено 10.10.2019 в 17:38 ----------

И вот нижняя часть со всеми полями input, textarea и button работает исправно.

А мне нужно, чтобы пользователь выбрал еще из вариантов Комплект 1 или Комплект 2. Но чтобы это не было в виде выпадающего списка, а в идеале в виде кнопок. Так как я при помощи js меняю фото товара во время клика на кнопку. На худой конец при помощи radio (кружочков этих некрасивых), но как передать из них правильно данные в php скрипт тогда...

---------- Добавлено 10.10.2019 в 17:47 ----------
________________________________________________________________________________________________
P.s. По radio инструкцию нашел на qaru.site :

<input type="radio" name="rdb" value="male"/>

И в самом скрипте:

$rdb_value = $_POST['rdb'];

Придется делать так... Это самый простой вариант.

IL
На сайте с 20.04.2007
Offline
412
#6
xoxol4uk22:
при помощи radio (кружочков этих некрасивых),

при помощи css можно сделать и красиво.. и некружочки

https://stackoverflow.com/questions/5523735/how-to-make-a-radio-button-look-like-a-toggle-button

https://markheath.net/post/customize-radio-button-css --> https://jsfiddle.net/markheath/azk2cL45/1/

xoxol4uk22
На сайте с 14.11.2017
Offline
61
#7
ivan-lev:
при помощи css можно сделать и красиво.. и некружочки

Круть, спасибо!

Вышло еще красивее, чем мои кнопки, которые я пол дня делал и они не пригодились))

S
На сайте с 30.09.2016
Offline
459
#8
xoxol4uk22:
я при помощи js меняю фото товара во время клика на кнопку

Той же функцией можете одновременно изменять значение скрытого поля формы (input type="hidden").

Отпилю лишнее, прикручу нужное, выправлю кривое. Вытравлю вредителей.
M
На сайте с 04.12.2013
Offline
184
#9

xoxol4uk22, сорри, сама заглушка (якобы для отправки письма) – тихий ужас.

Хостинг FOZZY ( http://fozzy.com.ru ) / Выслушаю предложения на домены ( http://u75.ru/domains-for-sale ) / Домены и скрипт для коротких ссылок ( http://u75.ru/domains-for-shortcuts )

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий