Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > HTML и CSS
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.04.2022, 20:28   #1
ROM710
Форумчанин
 
Регистрация: 24.02.2014
Сообщений: 144
По умолчанию Кнопки "radio" и "submit" как объеденить ?

Здравствуйте, подскажите пожалуста - Если в одном элементе form находится кнопки "radio" и "submit" как объеденить их
Код:
<form name="form1" id="form1" method="post" action="?step=3">		 				
<input name="service" onclick="vibor_pay(2)" type="radio" value="3" class="radio" id="radio" />
<label for="radio">Войти</label>
		 				
		 				<br><br>
		 				<input id="subm" type="submit" class="submit" name="submit"style= "background-color: green; color: #FFFFFF; font-size: 21px;" value="Продолжить" />
		 				<input type="hidden" name="id" value="<?=$id?>">
		 				<input type="hidden" name="type_payment" value="<?=$type_payment?>">
        				</form>
Точнее объеденить получается
Код:
<form name="form1" id="form1" method="post" action="?step=3">
<div>		 				
<input name="service" onclick="vibor_pay(2)" type="radio" value="3" class="radio" id="radio" />

 </div>		
<button id="subm" type="submit" disabled>Submit</button> 
		 				<br><br>
		 				<input id="subm" type="submit" class="submit" name="submit"style= "background-color: green; color: #FFFFFF; font-size: 21px;" value="Продолжить" />
		 				<input type="hidden" name="id" value="<?=$id?>">
		 				<input type="hidden" name="type_payment" value="<?=$type_payment?>">
        				</form>
<script>
  document.querySelector('form').addEventListener('change', function() {
    this.querySelector('#submit').disabled = this.eula.value === "0";
  });
 
</script>
но не определяет id пользователя, а так все срабатывает хорошо. Может ещё какие варианты есть ?
ROM710 вне форума Ответить с цитированием
Старый 24.04.2022, 20:49   #2
macomics
Участник клуба
 
Регистрация: 17.04.2022
Сообщений: 1,833
По умолчанию

так не пробовали
Код HTML:
onclick="form1.submit();"
Код HTML:
<input type="hidden" name="id" value="<?=$id?>">
откройте текст в браузере (F12) и найдите значение в этом поле. Оно может выглядеть так:
Код HTML:
<input type="hidden" name="id" value=""ID пользователя"">
macomics вне форума Ответить с цитированием
Старый 25.04.2022, 09:40   #3
ROM710
Форумчанин
 
Регистрация: 24.02.2014
Сообщений: 144
По умолчанию

Спасибо macomics, но так я вообще ничего не понимаю.
ROM710 вне форума Ответить с цитированием
Старый 25.04.2022, 10:50   #4
ADSoft
Старожил
 
Регистрация: 25.02.2007
Сообщений: 4,150
По умолчанию

Цитата:
Сообщение от ROM710 Посмотреть сообщение
<input type="hidden" name="id" value="123">
а так понятно? Передается - если конкретное значение?
ADSoft вне форума Ответить с цитированием
Старый 25.04.2022, 11:01   #5
ROM710
Форумчанин
 
Регистрация: 24.02.2014
Сообщений: 144
По умолчанию

Вся причина в этой строке
Код:
<button id="subm" type="submit" disabled>Submit</button>
если оставить так
Код:
<label for="radio">Войти</label>
проверяет авторизацию
пользователя, если так
Код:
<button id="subm" type="submit" disabled>Submit</button>
отправляет без проверки. Как найти золотую середину ?
ROM710 вне форума Ответить с цитированием
Старый 25.04.2022, 13:02   #6
ADSoft
Старожил
 
Регистрация: 25.02.2007
Сообщений: 4,150
По умолчанию

какие проверки.. о чем вы вообще? сформулируйте адекватно вопрос?

вангуя... могу предположить что
вы надеетесь на
Код:
 this.querySelector('#submit').disabled = this.eula.value === "0";
но у вас id кнопки совсем не такой, а всего лишь subm
поэтому надо бы так
Код:
 this.querySelector('#subm').disabled = this.eula.value === "0";
а по хорошему - вешать не на кнопку событие, а на саму отправку форы... ибо ее можно отправить и по другому
ADSoft вне форума Ответить с цитированием
Старый 25.04.2022, 13:33   #7
ROM710
Форумчанин
 
Регистрация: 24.02.2014
Сообщений: 144
По умолчанию

Все сначала - вот первоначальная форма
Код:
<form name="form1" id="form1" method="post" action="?step=2">		 				
<input name="service" onclick="vibor_pay(2)" type="radio" value="2" class="radio" id="radio" />
<label for="radio">Согласен</label>		 				
		 				<br><br>
		 				<input id="subm" type="submit" class="submit" name="submit"style= "background-color: green; color: #FFFFFF; font-size: 21px;" value="Продолжить" />
		 				<input type="hidden" name="id" value="<?=$id?>">
		 				<input type="hidden" name="type_payment" value="<?=$type_payment?>">
        				</form>
Пользователь жмет на радиокнопку ,,Согласен,, если он не прошел авторизацию ему предлагают это сделать, если авторизовался открывается кнопка submit "Продолжить" Он жмет и операция завершается все.
Хочу упростить процедуру, жмет на радио и сценрий завршается или сразу появляется "Продолжить" но проверкой авторизации.
ROM710 вне форума Ответить с цитированием
Старый 25.04.2022, 14:06   #8
ROM710
Форумчанин
 
Регистрация: 24.02.2014
Сообщений: 144
По умолчанию

Отправлять форму одним нажатием на радио получается
Код:
<label for="subm" >Согласен</label
, но тогда не проверяет авторизацию.
ROM710 вне форума Ответить с цитированием
Старый 25.04.2022, 14:42   #9
ADSoft
Старожил
 
Регистрация: 25.02.2007
Сообщений: 4,150
По умолчанию

вы сами себя слышите, понимаете?
отправка формы это одно, проверка авторизации совсем другое
смотрите в коде которая авторизует - что приходить из формы
смотрите какие значенияя в форме на момент отправки
ADSoft вне форума Ответить с цитированием
Старый 25.04.2022, 17:38   #10
ROM710
Форумчанин
 
Регистрация: 24.02.2014
Сообщений: 144
По умолчанию

Да, так проверяет авторизацию javascript, но связь сним теряется после изменений в форме
Код:
<script type="text/javascript">
var summa=<?=intval($summa)?>;
var koshel=<?=$koshel[$type_payment]?>;
var akk = <?=intval($_SESSION['ID_P'][1])?>;
var err_akk='<br><br><font color=red>Для пользования услугой необходимо авторизоваться на сайте</font>';
function vibor_pay(x)
	{
	var err = '';
	if(x==2)
		{		
		if(!akk) err = err_akk;
		}
	if(err)
		{
		document.getElementById('vib').innerHTML = err; 
		document.getElementById('subm').disabled=1;
		$("#subm").hide();
		}
	else
		{ 
		document.getElementById('subm').disabled=0;
		$("#subm").show();
		}
	}

$("#subm").hide();
</script>
ROM710 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Необходимо написать "таймер", который будет запускаться при нажатии кнопки "Start", приостанавливаться на "Pause", и сбрасываться на "Reset" billiejean78 JavaScript, Ajax 1 03.09.2021 08:58
pgAdmin 4 При сжатии окна по горизонтали некоторые кнопки "вылезли", но"save" или"Ok" не увидел все равно. Что делать ? vadim_v SQL, базы данных 0 16.06.2020 20:44
Убрать папки "Pictures", "Music", "Видео", "Downloads" из "МОЙ КОМПЬЮТЕР" Бахтиёр1916 Windows 1 05.04.2017 12:53
Нужно пояснить/прокомментировать код программы, или коды функций "Добавить" "Удалить" "Обновить(редактировать" "Поиск" "Период") ZIRASS PHP 4 15.06.2016 14:23
Применить стиль ко всем инпутам, кроме "radio" и "checkbox"? barbiturat HTML и CSS 1 03.12.2008 15:33