javascript - PHP (CakePHP) - 识别由 JavaScript 创建的表单元素

标签 javascript php html cakephp

我正在开发 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 就可以很好地识别这些元素。任何人都可以帮助我吗?为什么会这样?我该如何克服这个问题?有没有其他方法可以实现这一目标?

最佳答案

您误解了 PHP 和 JavaScript 的工作原理。 PHP 代码永远无法“看到”JavaScript 代码(包括 jQuery)的结果,因为 PHP 运行在服务器上,而 JavaScript 运行在浏览器中。当 JavaScript 开始运行时,服务器已完成 PHP。

如果您真的需要在 JavaScript 运行后使用 PHP 执行某些操作,您可以使用 AJAX 执行此操作。

关于javascript - PHP (CakePHP) - 识别由 JavaScript 创建的表单元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21267637/

相关文章:

javascript - respond.js 设置教程

Javascript - 附加大量 HTML 内容的最佳方式?

javascript - 点击()不工作

php - 如何使用动态键循环 PHP 对象

javascript - 为什么我的点击事件处理程序(是 "is")正常工作?

javascript - 使用ajaxForm Jquery插件时返回PHP错误

php - laravel登录后添加中间件

php - MySQL 中的 INSERT 第二次不起作用

javascript - 如何将 HTML5 地理位置数据保存到 python Django admin?

css - 如何在 HTML5 中设置第一段的样式?