Проблема codeigniter set_checkbox на необязательном входе - PullRequest
3 голосов
/ 21 июня 2011

У меня есть необязательный флажок под названием checkall

<input name="checkall" type="checkbox" value="ON" <?php echo set_checkbox('checkall', 'ON'); ?> />

Я уверен, что форма отправляет это

, если я даю ему правило проверки $this->form_validation->set_rules('checkall', 'Checkall', 'required');, оно работает, но безправило ничего не сработало!

я что-то пропустил?я думаю, что помощник формы не требует, чтобы эта функция работала правильно?

Ответы [ 2 ]

4 голосов
/ 21 июня 2011

Я думаю, что вы говорите о сохранении значения без правил проверки. Это все еще проблема в CI 2.x, если я правильно помню, и патч jbreitwiser от января 2010 года все еще необходим:

http://codeigniter.com/forums/viewthread/96617/P15/#689642

Если это все еще проблема в CI 2.x, это абсолютно абсурдно, и я полностью согласен. Но этот патч решит вашу проблему.

0 голосов
/ 21 июня 2011

Если я правильно вас понял, ваш флажок не отправляется вместе с формой?Если это так, я развлекался с этим вопросом в этой теме ЗДЕСЬ

PHP хочет, чтобы вы проверили, установлен ли флажок или нет, проверив, установлен лиявляется соответствующим элементом в массиве POST.Если флажок был установлен, в массиве POST будет элемент с таким же именем (этот элемент будет иметь значение NULL), если флажок НЕ установлен, тогда в массиве POST не будет НЕТ соответствующего элемента.

Код будет выглядеть примерно так:

Ваш элемент ввода остается прежним -

<input name="checkall" type="checkbox" value="ON" <?php echo set_checkbox('checkall', 'ON'); ?> />

Страница обработчика обратной передачи получает новый способ проверки флажка -

if(isset($_POST["checkall"])
{
   $checkall = TRUE;
}
else
{
   $checkall = FALSE;
}

Надеюсь, я помог, уже поздно, и ваш вопрос немногочисленен.

С уважением

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...