Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/252.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将PHP变量分配给不起作用的Javascript变量_Javascript_Php - Fatal编程技术网

将PHP变量分配给不起作用的Javascript变量

将PHP变量分配给不起作用的Javascript变量,javascript,php,Javascript,Php,我目前在这方面有困难。我想让Javascript中的一个变量具有PHP值。我的意思是: <script> JSvariable = <?php echo $PHPvariable; ?>; </script> 不要忘记引用“或”。请使用以下内容: <script> var JSvariable = '<?php echo $PHPvariable; ?>'; //or var JSvariable =

我目前在这方面有困难。我想让Javascript中的一个变量具有PHP值。我的意思是:

<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
}
?>