2013-06-15 2 views
0

Получил странную проблему, когда отмеченный check = "checked" -attribute игнорируется, и Cake всегда получает значение = "1" после отправки формы.Неправильный выбор радиокнопки, переданных на CakePHP-контроллер

Кодекс для просмотра:

echo $this->Form->input('INCOMETYPE', array(
    'legend' => false, 
    'value' => '1', 
    'type' => 'radio', 
    'options' => array('1' => 'Festbetrag', '2' => 'pro Stunde', '3' => 'Naturalien') 
)); 

который печатает:

<div class="input radio required"> 
    <input type="radio" name="data[Post][INCOMETYPE]" id="PostINCOMETYPE1" value="1" checked="checked"> 
    <label for="PostINCOMETYPE1">Festbetrag</label> 
    <input type="radio" name="data[Post][INCOMETYPE]" id="PostINCOMETYPE2" value="2"> 
    <label for="PostINCOMETYPE2">pro Stunde</label> 
    <input type="radio" name="data[Post][INCOMETYPE]" id="PostINCOMETYPE3" value="3"> 
    <label for="PostINCOMETYPE3">Naturalien</label> 
</div> 

что на самом деле должны работать как шарм. Но:

Когда пользователь проверяет радиостанцию ​​со значением 2 или 3, проверенный атрибут первого не исчезнет, ​​и ни один из вновь проверенных радио не получит атрибут checked. Поэтому при представлении контроллер получает значение = «1» каждый раз. Вторая странная вещь: Когда зарегистрированном изменение принудительно с помощью JQuery так:

$('#PostDEADLINE1').click(function() { 
    $('#PostDEADLINE1').attr('checked', 'checked'); 
    $('#PostDEADLINE2').attr('checked', false); 
    $('#PostDEADLINE3').attr('checked', false); 
}); 
    $('#PostDEADLINE2').click(function() { 
    $('#PostDEADLINE1').attr('checked', false); 
    $('#PostDEADLINE2').attr('checked', 'checked'); 
    $('#PostDEADLINE3').attr('checked', false); 
}); 
    $('#PostDEADLINE3').click(function() { 
    $('#PostDEADLINE1').attr('checked', false); 
    $('#PostDEADLINE2').attr('checked', false); 
    $('#PostDEADLINE3').attr('checked', 'checked'); 
}); 

Контроллер получает значение = «1», а также. Похоже, что jQuery-подход не имеет никакого эффекта. Мой вопрос: Как я могу получить рабочий пример радиокнопки в Cake?

ответ

0

Решение не найдено. Браузер не отслеживает проверенный атрибут. Внутри установлено правильное состояние выбора пользователя. После отладки этих двух Params все было хорошо, и в моем контроллер я сделал неправильный материал с запросом-данных:

debug($this->request->data['Post']['DEADLINE']); 
debug($this->request->data['Post']['INCOMETYPE']); 

вам не нужно использовать JQuery для этого материала, конечно.

Смежные вопросы