JavaScript子串返回错误

时间:2017-07-18 22:36:54

标签: javascript php joomla

我正在使用Joomla并尝试使用substring()函数来拉出字符串的前4个字符。我遇到的问题是我收到错误

这是我的语法 - 如何更改它以便它在我的Joomla设置中起作用?

  

未捕获的TypeError:phpdate.substring不是函数

这是语法:

<?php
  $randardate = '20160301';
?>
<script>
  var phpdate = <?php echo $randardate; ?>;
  var yearfromphpdate = phpdate.substring(0,4);
</script>

2 个答案:

答案 0 :(得分:1)

添加引号以使phpdate成为字符串。

var phpdate = '<?php echo $randardate; ?>';

答案 1 :(得分:0)

由于您使用PHP预处理javascript文件,没有引号,您的javascript文件看起来像

var phpdate = 20160301;

您需要添加像这样的引用

var phpdate = '<?php echo $randardate; ?>';

因此,当PHP处理完你的文件时,它将是一个字符串,而不是一个int。

var phpdate = '20160301';

您的stacktrace被抛出,因为substring需要一个字符串,而不是一个int。