JavaScript子字符串返回错误

问题描述:

我正在使用Joomla并尝试使用substring()函数来提取我的字符串的前4个字符。我遇到的问题是我得到一个错误JavaScript子字符串返回错误

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

Uncaught TypeError: phpdate.substring is not a function

下面是语法:

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

您的PHP计算为'var phpdate = 20160301;'这不是一个字符串。 – 4castle

+1

var phpdate =''; – Bindrid

+1

'var yearfromphpdate = phpdate.toString()。substring(0,4)' –

既然你是前处理用PHP的JavaScript文件,不包括引号你的JavaScript文件看起来像

var phpdate = 20160301; 

您需要添加报价这样

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

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

var phpdate = '20160301'; 

由于substring需要一个字符串,而不是int,所以正在抛出栈跟踪。

加引号,使phpdate的字符串。

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