2011-09-27 204 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