Я хочу написать функцию в 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 становится включенным и текстовое поле отключено), он генерирует ошибку, которая выглядит так:
Запрос был черным. Ошибка: запрошенный адрес не найден на этом сервере.
Я не знаю, где конфликт или что порождает эту ошибку!
Вы можете справиться с проблемой Blackhole.
Поместите следующую строку в beforeFilter method
файла вашего контроллера.
$this->Security->blackHoleCallback = 'blackhole';
Теперь создайте функцию в том же файле контроллера:
public function blackhole($type) {
// handle errors.
}
Этот пост также поможет вам преодолеть эту проблему.
Адаптируйте свой тег формы: 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>
SecurityComponent
. Проверьте разделcsrf