将PHP变量分配给不起作用的Javascript变量
我目前在这方面有困难。我想让Javascript中的一个变量具有PHP值。我的意思是:将PHP变量分配给不起作用的Javascript变量,javascript,php,Javascript,Php,我目前在这方面有困难。我想让Javascript中的一个变量具有PHP值。我的意思是: <script> JSvariable = <?php echo $PHPvariable; ?>; </script> 不要忘记引用“或”。请使用以下内容: <script> var JSvariable = '<?php echo $PHPvariable; ?>'; //or var JSvariable =
<script>
JSvariable = <?php echo $PHPvariable; ?>;
</script>
不要忘记引用
“
或”
。请使用以下内容:
<script>
var JSvariable = '<?php echo $PHPvariable; ?>';
//or
var JSvariable = "<?php echo $PHPvariable; ?>";
</script>
但是,如果PHP变量包含如下数值,则这将正常工作:
<?php $PHPvariable = 2;?>
var JSvariable = <?php echo $PHPvariable; ?>;
完整代码应为:
<script>
var currentreplyid = "<?php echo $allpostcomments[$key]['replyid']; ?>";
//or if you are sure your variable contains int value
var currentreplyid = parseInt("<?php echo $allpostcomments[$key]['replyid']; ?>");
$('#parentcommentholder').val(currentreplyid);
</script>
var currentreplyid=“”;
//或者如果您确定变量包含int值
var currentreplyid=parseInt(“”);
$('#parentcommentholder').val(currentreplyid);
尝试以下方法,而不是使用javascript(因为我认为您不需要它):
您忘记使用var
关键字。浏览器控制台中是否有任何错误?是否确保$allpostcomments包含正确的数组键(例如var\u dump($allpostcomments))为了确保键存在,我尝试了var
关键字,但没有解决任何问题。是的,键是正确的,并且在控制台中有0个错误。确实设置了$PHPvariable?执行var\u dump($allpostcomments);
时会得到什么结果?放在$allpostcomments=$postcommentsstmt->fetchAll()之后;
您好,谢谢您的回复!不过,我确实需要变量:)您是否尝试过将脚本放在输入下面,并在输入上放置一个空白值=“否,对不起。我需要从PHP获取Javascript中的值,因为我需要它。遗憾的是,这行不通。它没有那么简单(我希望它是:D)。如果此输入也在foreach语句中,请确保将id设置为每个结果的唯一id。建议不用于扩展讨论;此对话已被取消。
<?php $PHPvariable = 'String';?>
var JSvariable = <?php echo $PHPvariable; ?>;
var JSvariable = String;//which will give error in javascript
<?php $PHPvariable = 2;?>
var JSvariable = <?php echo $PHPvariable; ?>;
var JSvariable = 2;//which will work perfect
<script>
var currentreplyid = "<?php echo $allpostcomments[$key]['replyid']; ?>";
//or if you are sure your variable contains int value
var currentreplyid = parseInt("<?php echo $allpostcomments[$key]['replyid']; ?>");
$('#parentcommentholder').val(currentreplyid);
</script>
<?php
$postcommentsquery = "SELECT * FROM comments WHERE parent = :parent AND postid = :postid ORDER BY datecreated DESC";
$postcommentsparams = array(':parent' => $allreplies[$key]["postid"],
':postid' => $postid);
try{
$postcommentsstmt = $connection->prepare($postcommentsquery);
$postcommentsresult = $postcommentsstmt->execute($postcommentsparams);
}
catch(PDOException $ex){
echo ("Failed to run query: " . $ex->getMessage());
}
$allpostcomments = $postcommentsstmt->fetchAll();
foreach ($allpostcomments as $key => $value) {
?>
<input id="parentcommentholder" value="<?php echo ((int)$allpostcomments[$key]['replyid']>0) ? $allpostcomments[$key]['replyid'] : 0; ?>" />
<?php
}
?>