Включите / отключите текстовое поле с помощью jQuery, установив флажок с черным отверстием

0

Я хочу написать функцию в jQuery, когда пользователь нажимает на флажок, текстовое поле-2 становится обязательным и обязательным, а текстовое поле-1 отключается. если флажок не установлен, текстовое поле-2 отключено и не требуется, а текстовое поле-1 будет заменено.

Так что это похоже на переключение между этими двумя текстовыми полями. форма выглядит следующим образом:

   <form id="link" name="link" action="post">
   <input type="checkbox" name="url_type" id="url_type"  >
   <input type="text" name="textfield1" id="textfield1">
   <input type="text" name="textfield2" id="textfield2" disable="disable">
   <input type="submit" name="send" value="send">
   </form>

Код jQuery выглядит так:

 <script type="text/javascript"> 
    $('#url_type').on('change',function(){
       var checked=$('#url_type').is(':checked');
        if(checked==true)
        {   
            $('#textfield1').attr('disabled',true);
            $('#textfield2').attr('disabled',false);
        } else {

            $('#textfield1').attr('disabled',false);
            $('#textfield2').attr('disabled',true);
        }
      });
</script>

Проблема в том, что в cakephp, когда я создаю новую ссылку, если флажок не выбран, работает нормально, но если я поставлю флажок, (это означает, что textfield2 становится включенным и текстовое поле отключено), он генерирует ошибку, которая выглядит так:

Запрос был черным. Ошибка: запрошенный адрес не найден на этом сервере.

Я не знаю, где конфликт или что порождает эту ошибку!

  • 0
    Возможно, что-то связано с SecurityComponent . Проверьте раздел csrf
Теги:
cakephp
cakephp-2.3

2 ответа

1
Лучший ответ

Вы можете справиться с проблемой Blackhole.

Поместите следующую строку в beforeFilter method файла вашего контроллера.

$this->Security->blackHoleCallback = 'blackhole';

Теперь создайте функцию в том же файле контроллера:

public function blackhole($type) {
// handle errors.
}

Этот пост также поможет вам преодолеть эту проблему.

0

Адаптируйте свой тег формы: 1. используйте тип: post 2. введите URL-адрес в действие атрибута, где должна быть отправлена ваша форма (/имя контроллера/имя действия)

   <form id="link" name="link" method="post" action="/controller/action">
   <input type="checkbox" name="url_type" id="url_type"  >
   <input type="text" name="textfield1" id="textfield1">
   <input type="text" name="textfield2" id="textfield2">
   <input type="submit" name="send" value="send">
   </form>
  • 0
    не плохое перенаправление формы, потому что, если я не отключаю атрибут на textfield2, он отлично работает ...
  • 0
    Но вы упомянули об ошибке: запрошенный адрес не был найден на этом сервере.
Показать ещё 6 комментариев

Ещё вопросы

Сообщество Overcoder
Наверх
Меню