Autor Zpráva
nox
Profil *
mám takový kód...
  <script type="text/javascript">
    function zvyrazni(n){
        var radek, sloupec, el;
        for (radek = 1; radek <= 10; radek++) {
            for (sloupec = 1; sloupec <= 10; sloupec++) {
                    if (radek*sloupec == n){
                    el = document.getElementById(radek+'_'+sloupec);
                    return el;
                }
            }
        }
    }
</script>
a tuhle fci volam z
document.write("<td id=\""+radek+"_"+sloupec+"\" onclick=\"alert('Kliknuto na " + zvyrazni(hodnota) +"'\);\">"+hodnota+"</td>");
chtěl bych dostat hodnotu z tagu, který má dané id... ovšem přestože použiju i
el = document.getElementById(radek+'_'+sloupec).value; 
tak to přesto nefunguje a kód, ze kterého se volá fce zvyrazni(hodnota), se nezobrazí korektně. Dumám nad tímto problém nějakou dobu a ne na to přijít. Poradí nějaký zkušený webmaster? dík
DJ Miky
Profil
el = document.getElementById(radek+'_'+sloupec).innerHTML;
nox
Profil *
dík :) to mi tu hodnotu získá, ale když mám tabulku třeba 10x10 tak mi to skončí na 5ti prvcích :(
nox
Profil *
nezbývá mi než jsem dát větší část kódu... takže mám něco takového...

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
  <meta http-equiv="content-type" content="text/html; charset=windows-1250">
  <meta name="generator" content="PSPad editor, www.pspad.com">;
  <title></title>
</script>
  <script type="text/javascript">
    function zvyrazni(n){
        var radek, sloupec, el;
        for (radek = 1; radek <= 10; radek++) {
            for (sloupec = 1; sloupec <= 10; sloupec++) {
                el = document.getElementById(radek+'_'+sloupec).innerHTML;
                if((n % el) == 0){
                    var styl = document.getElementById(radek+'_'+sloupec);
                    styl.style.borderBottom="1px solid white";                    
                }
                else{
                    var styl = document.getElementById(radek+'_'+sloupec);
                    styl.style.textDecoration="none";
                }
            }
        }
        return n;
    }
  </script>
  </head>
  <body>
<table>
<script type="text/javascript">
var radek, sloupec;
for (radek = 1; radek <= 10; radek++) {
    document.write("<tr>");
    for (sloupec = 1; sloupec <= 10; sloupec++) {
        var hodnota = radek*sloupec;
        if (radek == 1 || sloupec == 1)
                document.write("<th id=\""+radek+"_"+sloupec+"\">"+hodnota+"</th>");
        else
                document.write("<td id=\""+radek+"_"+sloupec+"\" onclick=\"alert('Kliknuto na " + zvyrazni(hodnota) +"'\);\">"+hodnota+"</td>");
    }
    document.write("</tr>");
}
</script>
</table>
  </body>
</html>

nevíte, prosím, někdo, proč se mi nevykresluje celá tabulka? Když zakomentuju obsah 2.foru ve funkci zvyrazni, tak se tabulka vykresli cela, ale zase nedoplňuje styl... Prosím o pomoc
Kajman_
Profil *
Funkci zvyrazni voláte ještě dřív, než máte tabulku sestavenou... tedy ke každému td, které však neexistují. Asi ji chcete volat až po kliknutí...
document.write("<td id=\""+radek+"_"+sloupec+"\" onclick=\"window.alert('Kliknuto');zvyrazni("+hodnota+");\">"+hodnota+"</td>");


Další chyby může způsobovat to, že id nesmí začínat číslicí.
Kajman_
Profil *
Místo amp #39 má být jednoduchý apostrof.
nox
Profil *
děkuji Vám, to byl ten problém
Chamurappi
Profil
Reaguji na Kajmana:
Další chyby může způsobovat to, že id nesmí začínat číslicí.
Pokud vím, tak to nikdy žádnému prohlížeči nevadilo.

Místo amp #39 má být jednoduchý apostrof.
V hodnotách atributů se entity překládají, takže &#39; poběží.
_es
Profil
nox
Do document.write môžeš dať aj viac argumentov a efekt bude rovnaký, ako keď bude argument len jeden poskladaný reťazec z tých argumentov.
V riadku 39 nastane chyba, lebo prvok s takým id (ešte) neexistuje.
Ak sa definuje onclick priamo v <TD>, tak sa dá na ten prvok <TD> odkázať pomocou this a všetky vlastnosti toho prvku sú zároveň lokálnymi premennými.
Napríklad:
<TD onclick="alert(this.innerHTML)">nejaký text</TD> alebo aj <TD onclick="alert(innerHTML)">nejaký text</TD>
<TD onclick="nejaka_funkcia(this)">nejaký text</TD>

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Odkud se sem odkazuje


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0