Witam

Mam taki mały kłopot. Postanowiłem sobie zrobić sapera - tak rekreacyjnie. W FF wszystko jest cacy, a w IE nie wyświetlają mi się cyferki. Tak wygląda funckja JS odpowiedzialna za odkrywanie pól:

Kod
function Show(n,k)
{
if (document.getElementById('timeHidden').value == '') // mało ważne - uruchamia czas
{
  document.getElementById('timeHidden').value = '0';
  clock = true;
  setTimeout('Time()',1000);
}
n = ''+n;
k = ''+k;

if (document.getElementById('spann'+n+'k'+k).innerHTML == '9') // to się dzieje, jeżeli trafimy na bombę
{
  document.getElementById('imgn'+n+'k'+k).src = 'img/bomb_hit.jpg';
  for (var i=0;i<width;i++)
   for (var j=0;j<height;j++)
   {
    if ((i!=n || j!=k) && document.getElementById('spann'+i+'k'+j).innerHTML=='9')
     document.getElementById('imgn'+i+'k'+j).src = 'img/bomb.jpg';
    document.getElementById('imgn'+i+'k'+j).onclick = function None(){};
   }
  clock = false;
  document.getElementById('faceImg').src = 'img/face_lost.jpg';
  return;
}
document.getElementById('imgn'+n+'k'+k).style.display = 'none'; // wyłącza "kafelek"
if (document.getElementById('spann'+n+'k'+k).innerHTML != '0') // jeżeli mamy cyferkę, to ją pokaż <- TU NIE DZIAŁA
  document.getElementById('spann'+n+'k'+k).style.display = 'inline';
else // jeżeli nie ma cyferki, ani bomby próbuj odkrywać sąsiednie pola
{
  if (document.getElementById('imgn'+(parseInt(n))+'k'+(parseInt(k)-1)) != undefined && document.getElementById('imgn'+(parseInt(n))+'k'+(parseInt(k)-1)).style.display == 'block')
   Show((parseInt(n)),(parseInt(k)-1));
  if (document.getElementById('imgn'+(parseInt(n))+'k'+(parseInt(k)+1)) != undefined && document.getElementById('imgn'+(parseInt(n))+'k'+(parseInt(k)+1)).style.display == 'block')
   Show((parseInt(n)),(parseInt(k)+1));
  if (document.getElementById('imgn'+(parseInt(n)-1)+'k'+(parseInt(k))) != undefined && document.getElementById('imgn'+(parseInt(n)-1)+'k'+(parseInt(k))).style.display == 'block')
   Show((parseInt(n)-1),(parseInt(k)));
  if (document.getElementById('imgn'+(parseInt(n)+1)+'k'+(parseInt(k))) != undefined && document.getElementById('imgn'+(parseInt(n)+1)+'k'+(parseInt(k))).style.display == 'block')
   Show((parseInt(n)+1),(parseInt(k)));
}
if (wins()) // jak wygramy
{
  for (var i=0;i<width;i++)
   for (var j=0;j<height;j++)
    document.getElementById('imgn'+i+'k'+j).onclick = function None(){};
  document.getElementById('faceImg').src = 'img/face_won.jpg';
  clock = false;
}
}


A teraz kod tabelki z polami:

  1. <table cellspacing="0" cellpadding="0" id="bodyTable">
  2. {section name=n loop=$Board}
  3. <tr>
  4. {section name=k loop=$Board[n]}
  5. <td>
  6. <img src="img/field.jpg" alt="X" id="imgn{$smarty.section.n.index}k{$smarty.section.k.index}" onclick="Show('{$smarty.section.n.index}','{$smarty.section.k.index}')" /><span id="spann{$smarty.section.n.index}k{$smarty.section.k.index}" class="span{$Board[n][k]}">{$Board[n][k]}</span>
  7. </td>
  8. {/section}
  9. </tr>
  10. {/section}
  11. </table>


Tutaj jest trochę Smarty, także poniżej daję fragment źródła:

  1. <table cellspacing="0" cellpadding="0" id="bodyTable">
  2. <tr>
  3. <td>
  4. <img src="img/field.jpg" alt="X" id="imgn0k0" onclick="Show('0','0')" /><span id="spann0k0" class="span1">1</span>
  5. </td>
  6.  
  7. <td>
  8. <img src="img/field.jpg" alt="X" id="imgn0k1" onclick="Show('0','1')" /><span id="spann0k1" class="span1">1</span>
  9. </td>
  10. <td>
  11. <img src="img/field.jpg" alt="X" id="imgn0k2" onclick="Show('0','2')" /><span id="spann0k2" class="span1">1</span>
  12. </td>
  13. <td>
  14. <img src="img/field.jpg" alt="X" id="imgn0k3" onclick="Show('0','3')" /><span id="spann0k3" class="span0">0</span>
  15.  
  16. </td>
  17. <td>
  18. <img src="img/field.jpg" alt="X" id="imgn0k4" onclick="Show('0','4')" /><span id="spann0k4" class="span0">0</span>
  19. </td>
  20. <td>
  21. <img src="img/field.jpg" alt="X" id="imgn0k5" onclick="Show('0','5')" /><span id="spann0k5" class="span1">1</span>
  22. </td>
  23. <td>
  24.  
  25. <img src="img/field.jpg" alt="X" id="imgn0k6" onclick="Show('0','6')" /><span id="spann0k6" class="span1">1</span>
  26. </td>
  27. <td>
  28. <img src="img/field.jpg" alt="X" id="imgn0k7" onclick="Show('0','7')" /><span id="spann0k7" class="span1">1</span>
  29. </td>
  30. <td>
  31. <img src="img/field.jpg" alt="X" id="imgn0k8" onclick="Show('0','8')" /><span id="spann0k8" class="span0">0</span>
  32.  
  33. </td>
  34. <td>
  35. <img src="img/field.jpg" alt="X" id="imgn0k9" onclick="Show('0','9')" /><span id="spann0k9" class="span0">0</span>
  36. </td>
  37. </tr>
  38. <tr>
  39. <td>
  40. <img src="img/field.jpg" alt="X" id="imgn1k0" onclick="Show('1','0')" /><span id="spann1k0" class="span1">1</span>
  41.  
  42. </td>
  43. <td>
  44. <img src="img/field.jpg" alt="X" id="imgn1k1" onclick="Show('1','1')" /><span id="spann1k1" class="span9">9</span>
  45. </td>
  46. <td>
  47. <img src="img/field.jpg" alt="X" id="imgn1k2" onclick="Show('1','2')" /><span id="spann1k2" class="span1">1</span>
  48. </td>
  49. <!-- ... -->


Co tu może być nie tak?...