HY,
我正在开发一个基于PHP和CodeIgniter的小站点。我今天遇到了一种非常奇怪的行为。我有以下代码来检查字段是否填充:
$valid = isset ( $model->{$property} ) && !empty($model->{$property});
error_log ( $valid );
如果'$ model-> {property}'存在而非空,我希望'$ valid'为真。不幸的是,无论属性是否存在,我从'error_log()'函数得到以下输出,是否有值:
[Sat Oct 11 19:49:43 2014] [error] [client 192.168.2.68] , referer: http://192.168.2.248:8080/
有什么问题?有没有其他(更好的)方法来检查属性是否存在和?
答案 0 :(得分:0)
抱歉愚蠢的问题:我错了。我通过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()忽略禁用的字段)