2012-02-05 75 views
-2

此功能的onclick:火狐onclick事件

VVi".$row['id'].".onclick = function() { 
    alert('1'); 
    var ResultI = '".$row['id']."'; 
    location.href='visuals.php?ResultI=' + ResultI + '&pg=' + pgi + '&vid=false'; 
}; 

不能稱之爲火狐...我試圖在Chrome和Opera,一切工作得很好......所以,我怎麼能調用的函數,一切都會在所有瀏覽器上都能正常工作。我需要類似的方法,因爲我不想與代碼以取得效果...謝謝

編輯:

火狐結果:

<a class='menuLink' id='VVi19'> 
<div id='IIi19' style='width: 230px; 
height: 136px; 
background: url(res/images/images.jpg); 
background-size: contain; 
background-repeat: no-repeat; 
background-position:center;'></div> 
</a> 
</td> 
<script type='text/javascript'> 
VVi19.onclick = function() { 
    alert('1'); 
var ResultI = '19'; 
location.href='visuals.php?ResultI=' + ResultI + '&pg=' + pgi + '&vid=false'; 
    }; 
</script> 
+5

你可以顯示生成的源代替PHP嗎? – 2012-02-05 12:24:35

+0

看起來像PHP問題導致無效的jQuery代碼,更改標籤。 – 2012-02-05 12:27:04

+0

Rob W,我不認爲這是需要的.. php代碼與問題無關。 – Liukas 2012-02-05 12:35:42

回答

1

聲明爲封閉如你所完成的功能有分配陳述並且因此必須以分號;終止。

一些ECMAScript的發動機比別人更多這方面的寬容 - 嘗試添加分號,像這樣:

 // ... 
    location.href='visuals.php?ResultI=' + ResultI + '&pg=' + pgi + '&vid=false'; 
    }; 
//^Add this teminator 

編輯檢查整個代碼後,它似乎是問題是,你的標籤順序都搞砸了,這就是爲什麼它不起作用。除其他外,<script>元素作爲<table>的直接子元素無效,<td>應包含在<tr>中。您還可以在循環中分配一個靜態的id=,這會導致重複的元素ID,並且您似乎使用以ID命名的對象引用HTML元素,而不將該元素分配給對象。

嘗試改變:

VVi".$row['id'].".onclick = function() { 

要:

document.getElementById('VVi".$row['id']."').onclick = function() { 

...雖然即使這樣做能夠立即解決的問題,你可能會發現行不通其他的東西。您需要將所有生成的頁面通過W3C markup validation service,並且您還應該看到JSLint必須對您的Javascript進行說明。

+0

仍然無法正常工作。仍然感謝我不知道任何有關:) – Liukas 2012-02-05 12:40:08

+0

@Liukas恐怕我們必須看到它的行動 - 你有一個鏈接,你可以提供,所以我們可以看到自己的問題? – DaveRandom 2012-02-05 12:41:29

+0

但是分號在OP的代碼中有嗎? – JJJ 2012-02-05 12:41:40