繁体   English   中英

如何将值从javascript生成的数据保存到PHP变量?

[英]How to save a value from javascript-generated data to PHP variable?

这与之相反:

<script>
document.getElementById("jscript_element").value = '<?=$php_variable?>';
</script>

可能吗?

注意:不得使用Post / Get,因为脚本将仅集成在onChange事件中,其余为历史记录。

提前致谢!

您将不得不使用Javascript将值写入输入,并在表单发布时记录该值,或者使用AJAX将值发送给服务器进行处理。 页面加载后,PHP完成。

我认为您的问题的答案在于两种脚本的解释顺序。

document.getElementById("jscript_element").value = '<?=$php_variable?>';

<? ?>任何内容<? ?> 服务器将<? ?>标记解释为PHP,然后将其写入页面。 然后,此完全完整的页面将传输到客户端。 请注意,PHP仅在服务器上运行。

页面加载并呈现给客户端后,PHP代码不存在。 要设置PHP变量,您必须以某种方式将该数据传输回服务器。

您指定不能使用任何类型的发布或获取。 无论是通过表单动作同步,还是通过AJAX异步,任何类型的通信都将属于“发布”或“获取”类别。

因此,请牢记:

可能吗?

没有。

尽管无法直接将javascript生成的数据设置到php变量中,但是如果需要,您可以按照以下方法来实现。

在获得想要在php中可用的值之后,将该值存储在cookie中。

<script type="text/javascript">
generated_value=document.getElementById("jscript_element").value;
document.cookie="cookie_name="+generated_value;
</script>

然后在您的PHP脚本中,只需从$ _COOKIE数组中读取值即可。

<?php $generated_value = $_COOKIE['cookie_name']; ?>

它将需要重新加载页面,但是您将能够使用javascript生成的值。

在您的问题的背后,显然服务器端操作与客户端操作之间存在混淆。

您应该阅读有关此主题的一些信息,例如本文: http : //www.virtualshowrooms.co.za/articlepage.php?cp=101

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM