2011-09-27 167 views
0

当我将一段JavaScript代码从一个php文件移动到一个单独的js文件时,js不再工作。js迁移问题

我只是简单地删除了“script”标签,并将所有的js代码粘贴到js文件中。 我是否遗漏了一些代码或标签?

该代码是

<script> 
_i = <?=$k+1?>; 

function addlng() { 
_id = "lang_"+_i; 
$j("#lang_area").append("<div class='lang_addition' id="+_id+"></div>"); 
$j("#s_lang").clone().appendTo("#"+_id); 
$j("#"+_id).append('<span><a href="javascript:void(0)" >&nbsp;<img id="addlng" class="addlng" 
src="<?=style_url('mvl/images/').'bullet_blue_collapse.png'?>" 
onclick="javascript:sub_img(\''+_id+'\');" /></a></span>'); 
_i++; 

} 

function sub_img(obj) { 
$j("#"+obj).remove(); 

} 
</script> 

回答

2
<?=$k+1?>

是php。它输出当前值$k+1。你将不得不在php看看$ k是什么。你可能需要把这个在你的PHP文件:

<script type="text/javascript"> 
    var _i = <?=$k+1?>; 
</script> 

然后删除该行对您的.js文件,并确保您包括您的.js在你的HTML比PHP输出该脚本更新的文件。

+0

建议的解决方案有效,但可以通过使addLng函数采用索引而不是依赖全局来改进。否则,我没有看到任何理由将JS从PHP代码中拉出来,因为它们仍然紧密耦合 –

+1

缓存是一个很好的理由。 – Paulpro

+0

仍然无法正常工作... – Juni