Hy,
Я занимаюсь разработкой небольшого сайта на основе PHP и CodeIgniter. Я встретил очень-очень странное поведение сегодня. У меня есть следующий код, чтобы проверить, заполнено ли поле или нет:
$valid = isset ( $model->{$property} ) && !empty($model->{$property});
error_log ( $valid );
Я ожидаю, что «$ valid» будет истинным, если «$ model -> {property}» существует и не является пустым. К сожалению, я получил следующий вывод из функции error_log () независимо от того, существует свойство или нет, имеет значение или нет:
[Sat Oct 11 19:49:43 2014] [error] [client 192.168.2.68] , referer: http://192.168.2.248:8080/
Что случилось? Есть ли другие (лучшие) способы проверить, существует ли свойство а также заполнить?
Извините за тупой вопрос: я ошибся. Модель, которую я разместил через AJAX, на самом деле не содержит ожидаемых полей.
Я нашел проблему в моих кодах JS. Я пытался опубликовать данные формы с помощью следующих команд:
var formData = $(form).serialize();
$(form + " :input").attr("disabled", true);
$.ajax({
type: 'POST',
url: action,
data: formData,
dataType: "json",
success: postSuccess,
error: postFail
});
Я подумал, что $ (form) .serialize () извлекает значения из формы, и я могу отключить поля ввода. К сожалению нет. Я должен поставить отключение входных друзей после вызов ajax для правильной передачи значений (.serialize () игнорирует отключенные поля)
Других решений пока нет …