2012-02-05 18 views
-2

このonclickの機能:Firefoxのonclickイベント

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

私はクロムやオペラでそれを試みたが、すべてが正常に働いていた...だからどのように私はすべてがあろうと関数を呼び出すことができます... Firefoxの上で呼び出すことはできません。すべてのブラウザで正常に動作します。

Firefoxの結果:あなたはそこに行っているよう

<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の代わりに生成されたソースを表示できますか? –

+0

PHPの問題のように、無効なjQueryコードを生成してタグを変更しています。 –

+0

Rob W、私はそれが必要とは思わない。PHPコードは問題とは関係がない。 – Liukas

答えて

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

+0

@Liukas私は行動でそれを見なければなりません - 私たち自身の問題を見ることができるようにあなたが提供できるリンクがありますか? – DaveRandom

+0

セミコロンはOPのコードにありますか? – JJJ