IE не выбирает поле формы при нажатии метки, поле формы скрыто

Я использую jQuery, чтобы скрыть поля формы (я управляю флажками и переключателями).

В FF и Chrome, когда я нажимаю связанный ярлык, поле формы по-прежнему активируется и проверяется. В IE этого не происходит.

Как сделать так, чтобы метка активировала флажки / переключатели в IE?


person Daniel A. White    schedule 09.02.2010    source источник
comment
Повторяющийся вопрос: stackoverflow.com/questions/1252690/   -  person ScottE    schedule 09.02.2010


Ответы (3)


Я испытал это раньше. Возможно, вам лучше убрать скрытые поля с экрана, чем скрывать их.

Фактически, я задал этот вопрос о SO:

IE - скрытый переключатель не установлен, когда нажимается соответствующий ярлык

person ScottE    schedule 09.02.2010

Как ты это скрываешь? Возможно, вам придется переместить его за пределы экрана с помощью какого-нибудь радикального CSS:

.hidden { position:relative; left: -10000 }

Затем переключите класс .hidden, чтобы показать / скрыть элемент.

person Sampson    schedule 09.02.2010

Я тоже столкнулся с этим. IE не изменит значение скрытых полей формы. Вы должны сначала показать их. Вероятно, самый простой способ - добавить действие onclick ко всем меткам, которым разрешено иметь скрытые поля формы. Что-то вроде:

$("label.hideablefield").live('click', function(){
  var fid = $(this).attr('for');
  $('#'+ fid).show();
  $('#'+ fid).select(); //or maybe .focus, I'm not sure 
});

Очевидно, это только включает поле. Вам нужно будет настроить условие переключения для повторного скрытия / отмены выбора.

person dnagirl    schedule 09.02.2010