2013-12-13 3 views
0

Итак, у меня есть форма, содержащая раздел, где пользователи должны выбирать, хотите ли они зарегистрироваться для сессии, которая будет проводиться 3 раза в день. Проблема заключается в том, что для любого заданного сеанса AM, Mid-day и PM могут подавать заявки только 5 претендентов. Итак, это соревнование, чтобы войти. Вот раздел формы.Совет - регистрационная форма 3 переключателя

enter image description here

Я озадачен о том, как определить, если регистрация закрыта для любой данной сессии. То есть, если форма была заполнена и 4 человека уже зарегистрированы для сеанса X. В то же время другой пользователь зарегистрирован для X, и этот сеанс закрыт. Первый пользователь может подумать, что он все еще может подать заявку, потому что его форма так говорит. Чтобы отключить сеанс, переключатель должен быть отключен как «Ужин в воскресенье 3 августа» на изображении ниже.

Я думал использовать jquery ajax для обновления через 10 секунд. но это еще одна проблема. Ответ отменит любые выборы, сделанные пользователем до сих пор. Это похоже на то, как Amazon управляет «оставшимися 5 предметами». Мне никогда не приходилось делать что-то подобное раньше. Я использую фреймворк codeigniter, jquery 1.8.2.

Любые идеи?

+0

Если вы только обновит переключатель, который должен быть отключен, он должен только уничтожить, если пользователь пытался выбрать тот, который был взят в то же время , Также на боковой ноте вы, вероятно, захотите, чтобы скрытый ввод был добавлен при отключении, чтобы он все равно был отправлен. – Tomanow

ответ

0

Если это место не очень популярно, возможно, вы пытаетесь объяснить что-то, что никогда не произойдет (это нормально). Достаточно просто показать ошибку («< дата > больше не доступно») и попросите их повторить попытку, если есть конфликт. Но, опрос также должен работать; просто отключите соответствующее радио, чтобы не сбросить всю форму. Код Псевдо:

<input type="radio" class="reservation" name="1-1-2014-morning"> 
<input type="radio" class="reservation" name="1-1-2014-afternoon"> 
<input type="radio" class="reservation" name="1-1-2014-evening"> 

-

var reservations = $('.reservation'); 
$.ajax({ 
    type:'get', 
    url: 'checkdates', 
    success: function(response){ 
     if(response){ 
      $(reservations).each(function(){ 
       if($.inArray(this.name, response.dates)){ 
        $(this).attr('disabled', true); 
       } 
      }); 
     } 
    } 
}); 
Смежные вопросы