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>
答
既然你是前处理用PHP的JavaScript文件,不包括引号你的JavaScript文件看起来像
var phpdate = 20160301;
您需要添加报价这样
var phpdate = '<?php echo $randardate; ?>';
所以,当PHP完成处理你的文件时,它将是一个字符串,而不是一个int。
var phpdate = '20160301';
由于substring需要一个字符串,而不是int,所以正在抛出栈跟踪。
答
加引号,使phpdate的字符串。
var phpdate = '<?php echo $randardate; ?>';
您的PHP计算为'var phpdate = 20160301;'这不是一个字符串。 – 4castle
var phpdate =''; – Bindrid
'var yearfromphpdate = phpdate.toString()。substring(0,4)' –