Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #21 (permalink)  
Старый 12.02.2018, 12:00
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

А отправка формы асинхронная или естественная?
Ответить с цитированием
  #22 (permalink)  
Старый 12.02.2018, 12:02
Профессор
Отправить личное сообщение для Batyabest Посмотреть профиль Найти все сообщения от Batyabest
 
Регистрация: 14.09.2013
Сообщений: 252

Сообщение от laimas Посмотреть сообщение
А отправка формы асинхронная или естественная?
По нажатию кнопки "Отправить" идет ajax отправка формы на обработчик, который делает проверку правильности ответов.
Ответить с цитированием
  #23 (permalink)  
Старый 12.02.2018, 12:40
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Ну может все таки так?

<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8"/>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<script>
$(function() {
    $('input').change(function() {
        if(this.checked) $(this).closest('div').append('<input type=hidden name="'+$(this).data('group')+'[]" value='+this.value+'>');
        else $('[name^='+$(this).data('group')+'][value='+this.value+']').remove()
    })
    
    $('form').submit(function(e) {
        e.preventDefault();
        alert(JSON.stringify($(this).serializeArray()))
    })
});
</script>
</head>
<body>
<form autocomplete="off">
<div> Group 1
<label><input type="checkbox" data-group="a" value="1" /> A</label>
<label><input type="checkbox" data-group="a" value="2" /> B</label>
<label><input type="checkbox" data-group="a" value="3" /> C</label>
</div>
<div> Group 2
<label><input type="checkbox" data-group="b" value="1" /> A</label>
<label><input type="checkbox" data-group="b" value="2" /> B</label>
<label><input type="checkbox" data-group="b" value="3" /> C</label>
</div>
<input type="reset" />
<button>Send</button>
</form>
</body>
</html>
Ответить с цитированием
  #24 (permalink)  
Старый 12.02.2018, 13:16
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Batyabest,
выполните на локальном сервере, по идее что и надо.

<?
if($_POST) {
    $a = [
        'a' => [1=>'A', 'B', 'C'],
        'b' => [1=>'D', 'E', 'F']
    ];

    exit(print_r(array_combine(array_keys($a), array_map(function($k, $v) use($a) {
        return array_replace(array_flip($v), array_intersect_key($a[$k], array_flip($v)));
    }, array_keys($_POST), $_POST)), 1));
}
?>
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8"/>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<script>
$(function() {
    $('input').change(function() {
        if(this.checked) $(this).closest('div').append('<input type=hidden name="'+$(this).data('group')+'[]" value='+this.value+'>');
        else $('[name^='+$(this).data('group')+'][value='+this.value+']').remove()
    });
    
    $('form').submit(function(e) {
        e.preventDefault();
        $.post(location, $(this).serializeArray(), function(d) {
            alert(d)
        })
    })
});
</script>
</head>
<body>
<form autocomplete="off">
<div> Group 1
<label><input type="checkbox" data-group="a" value="1" /> A</label>
<label><input type="checkbox" data-group="a" value="2" /> B</label>
<label><input type="checkbox" data-group="a" value="3" /> C</label>
</div>
<div> Group 2
<label><input type="checkbox" data-group="b" value="1" /> D</label>
<label><input type="checkbox" data-group="b" value="2" /> E</label>
<label><input type="checkbox" data-group="b" value="3" /> F</label>
</div>
<input type="reset" />
<button>Send</button>
</form>
</body>
</html>

Последний раз редактировалось laimas, 12.02.2018 в 13:20.
Ответить с цитированием
  #25 (permalink)  
Старый 12.02.2018, 13:27
Профессор
Отправить личное сообщение для Batyabest Посмотреть профиль Найти все сообщения от Batyabest
 
Регистрация: 14.09.2013
Сообщений: 252

laimas,
О, да)) так работает.
Ответить с цитированием
Ответ


Опции темы Искать в теме
Искать в теме:

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Массив из значений чекбоксов,максимальное значение и сумма результата с др. значе-ями Евгенион Общие вопросы Javascript 5 23.10.2017 08:44
заносить ли в массив ноды? Floyd Общие вопросы Javascript 4 27.10.2015 17:51
4 чекбокса, как при выборе вставить значение через запятую espltd Элементы интерфейса 2 09.09.2015 10:07
при выборе одного из input становится активными другая пара inputов Marmott Общие вопросы Javascript 5 25.07.2015 21:52
Действие при одновременном выборе в разных выпадающих списках Oresama Элементы интерфейса 1 28.06.2015 21:22