Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Как побороть форму? (https://javascript.ru/forum/dom-window/77575-kak-poborot-formu.html)

Янковиц 22.05.2019 11:41

Как побороть форму?
 
Добрый день. Прошу помощи.
Есть форма с группой радиокнопок. Нужно отправить форму при клике по радиокнопке. Проблема в том, что нужно отработать 2 клика по радиокнопке.
Если пишу так:
jQuery('.input type="radio"').click(function() {
	// отправляю форму
});

Результат get запроса при первом клике: http://site.ru/?orderby=ASC
при втором - http://site.ru/?sort=_price&orderby=ASC (то есть первый клик не получает значения sort=_price)

Если пишу так:
jQuery('#forma').change(function() {
	// отправляю форму
});

Когда второй раз кликаю по радиокнопке, отправки формы нет.
Я в печали.

рони 22.05.2019 12:00

Янковиц,
jQuery("input:radio").click(function() {
var n = jQuery( "input:radio:checked" ).length;
if(n == 2)  // отправляю форму


});

Янковиц 22.05.2019 12:15

Спасибо, но это не решает проблему, так как пользователь должен второй раз кликнуть по радиокнопке.

Dilettante_Pro 22.05.2019 12:51

Янковиц,
Сколько групп радиокнопок?

рони 22.05.2019 12:52

Янковиц,
что мешает сосчитать клики?

Янковиц 22.05.2019 13:21

Цитата:

Сообщение от Dilettante_Pro (Сообщение 508089)
Янковиц,
Сколько групп радиокнопок?

1 группа радиокнопок

laimas 22.05.2019 13:56

Цитата:

Сообщение от Янковиц
то есть первый клик не получает значения sort=_price

Почему? Может "проблему" иначе решать надо?

Malleys 22.05.2019 14:10

Цитата:

Сообщение от Янковиц
Когда второй раз кликаю по радиокнопке, отправки формы нет.

А где вы вычитали, что так формы отправляются? Да ещё отправка зависит от количества нажатии! Наверно жутко плохой UX!
Цитата:

Сообщение от Янковиц
Нужно отправить форму при клике по радиокнопке.

Для отправки есть...
<input type="submit">


И почему надо 2 раза нажимать? Что это?

UPD
Может вместо radio вам нужен checkbox?

Dilettante_Pro 22.05.2019 14:27

???
Price<input type="radio" value="_price" name="sort">
Color<input type="radio" value="_color" name="sort">
Size<input type="radio" value="_size" name="sort">
<script src="https://code.jquery.com/jquery-latest.min.js"></script>
<script>
$("input:radio").click(function() {
   var n = $("input:radio:checked" ).length;
   console.log(n, $("input:radio:checked" ).val());
});
</script>

Malleys 22.05.2019 14:38

Цитата:

Сообщение от Dilettante_Pro
var n = $("input:radio:checked" ).length;

Логическая оптимизация?


Часовой пояс GMT +3, время: 00:09.