我正忙着为magento做服务器端和客户端验证。此验证在服务器端(php)
运行良好。在客户端我使用javascript。
当我开始做这个的时候。我把我的javascript嵌入到一个php文件中,一切都如预期的那样工作。
因为我使用magento所以我决定通过page.xml
注入javascript文件当我添加javascript代码而不是获取消息时,我得到的是php。
这是我的javascript:
function DefaultAddressErrorChangeNotAllowedMessage() {
alert("<?php echo Mage::helper('invent_general')->getDefaultAddressErrorChangeNotAllowedMessage();?>");
return;
}
当用户点击onclick时,我运行这个函数,它将指向这个函数DefaultAddressErrorChangeNotAllowedMessage()
和
<?php echo Mage::helper('invent_general')->getDefaultAddressErrorChangeNotAllowedMessage();?>
将按原样填充。
,但当我直接嵌入到一个php文件它拉正确的消息。
我有一种方法可以让javascript转义php并从config.xml中获取正确的消息
PHP仅在服务器端呈现。如果需要将PHP特定的值"注入"到javascript中,那么要么需要将实际值作为PHP脚本输出的一部分呈现,要么需要使用Ajax重新往返服务器。
Javascript是客户端,PHP是服务器端,所以当Javascript加载时,所有PHP都已被评估。这意味着,您可以警告php回显,但不能在Javascript中运行php操作或任何php逻辑。这需要ajax
很抱歉我的回答笨拙,但也许你失去了简单的东西。我看到你的javascript包含php标签,所以我认为你应该插入你的javascript代码到。php扩展,因为。js扩展不能识别php标签。