从PHP访问javascript对象

从PHP访问javascript对象,php,javascript,Php,Javascript,我将一些函数存储在一个对象中,需要通过动态按钮的onclick属性在PHP中访问这些函数。通常,如果函数未存储在对象中,这将非常简单,但不幸的是,这就是创建这些函数的方式: var arrayLength = <?php echo $arrayLength; ?>; var click = {}; for (var num=1;num<=arrayLength;num++) { var newClick = "click_" + num; click[newClick

我将一些函数存储在一个对象中,需要通过动态按钮的onclick属性在PHP中访问这些函数。通常,如果函数未存储在对象中,这将非常简单,但不幸的是,这就是创建这些函数的方式:

var arrayLength = <?php echo $arrayLength; ?>;
var click = {};

for (var num=1;num<=arrayLength;num++) {
  var newClick = "click_" + num;
  click[newClick] = function() { 
    // some contents when this button is clicked 
  };
}

但是,由于我使用的是PHP,我不确定如何在onclick属性中调用它。这是我真正需要做的事情,所以如果你知道一个解决方案或能想到一个解决方法,请告诉我。

你的对象可以从PHP转换到JS,但不能反过来。为了缓解这个问题,可以使用json_encode$object并将其传递给javascript进行处理。然后,您可以从PHP访问属性和值。

首先:您的函数有什么特别之处,您必须用JS编写函数体并用PHP调用它

第二:为什么不直接用PHP编写该函数并通过AJAX从JS传递数据呢


第三:确保您了解http、html、php、javascript和AJAX之间的区别,并了解它们是什么,而不仅仅是使网页工作的一些不稳定的东西。然后你自己就会知道答案。

AJAX、JSON和HTTP是你的朋友。为什么你需要从PHP调用它们?Javascript用于在服务器加载后加载脚本,例如,在页面完全加载之前不能调用Javascript。为什么不将调用放在$document.readyfunction{};上的jQuery.clickfunction{}中呢;?我误解你了吗?PHP在服务器上运行,Javascript在客户机上运行,只有通过AJAX他们才能相遇。你已经将数组的长度回传到JS变量中。我无法从您提供的代码中理解,为什么您不能简单地执行相同的操作。您需要从PHP访问JS,还是仅仅从PHP创建JS?您不能从PHP运行JS函数。您真正想要实现什么?对象已经创建并存储在javascript中,需要访问它的是PHP。我知道现在这是不可能的。然而,json_encode$对象将如何解决这个问题?您可以通过XmlHttpRequest/或AJAX请求从JS向PHP发送数据。感谢您的帮助。隐马尔可夫模型。。即使这可以帮助我获取对象中包含的函数的数据,它是否允许我调用这些函数?如果我没有用JS编写函数,我如何告诉按钮单击时该做什么??我不认为没有JS的帮助这是可能的。。。我的脚本使它在点击按钮时,另一个文本框将在页面上动态加载,以允许额外的用户输入。在过去,我能够让它工作,因为我只处理一个按钮。然而,现在我正在尝试处理多个按钮,每个按钮都有不同的功能,每个功能都与在同一页面上的不同位置动态添加一个额外的文本框有关……好吧,我非常无聊,而且无事可做,我将试着举一个例子说明如何使用大量按钮。如果使用JQuery的话,那么就可以使用JQuery:这显示了ajax是如何工作的,并且可能与您的问题没有什么共同点,您需要做很多更改才能让它实现您想要的功能。
click['click_' + someID]();