我正在研究CakePHP应用程序。在我的应用程序中,页面有一个表单标签,里面没有元素。表单元素(输入等)是用JavaScript动态创建的。因此,在某些事件发生后,我创建了所需的元素并将它们追加到父节点。结果是包含元素的表单。PHP(CakePHP) - 通过JavaScript识别创建的表单元素
for (var i = 0; i < targets.length ; i++) {
var edt = document.createElement("input");
edt.setAttribute("type","text");
edt.setAttribute("id","edt_"+targets[i].id);
edt.setAttribute("name","edt_"+targets[i].id);
targets[i].innerHTML = "";
targets[i].appendChild(edt);
//Pushing newly created obj to array
objs.push(edt);
}
的CakePHP不能处理使用新创建的元素是:
$global_1_user = $this->request->data['edt_1_user'];
$this->set('global_1_user',$global_1_user);
但是,如果我不动态创建的元素,并让它们在我的HTML代码,CakePHP的可以识别的元素只是精细。任何人都可以帮助我?这是为什么发生?我该如何解决这个问题?任何替代方法来实现这一目标?
这很可能是安全组件阻止访问这些变量。它可以非常有选择性地允许您通过应用程序进行传输,并且有时可能会阻止变量,因为HTML标记可能存在语法错误。我建议你只需使用普通的老式'$ _POST'或'$ _GET'来访问这些作为 –