Autor Zpráva
dusanga
Profil
Vytvoril som nasledujuci kod.
Pokiaj do premennej $i vlozim cislo tak to funguje, ak tam vlozim retazec tak nie.
Ako to ma byt aby to fungovalo s cislom aj s retazcom?
Dakujem.


<!DOCTYPE HTML>
<html>
<head>
    <meta name="viewport" content="initial-scale=1.0, user-scalable=no">
    <meta charset="utf-8">


<script>

      function f_ukaz(kk)
      {
       alert(kk);
      };
</script>

    
<?php
     function vypis()
       {
           $i=121;
           echo "<A><q onClick='f_ukaz($i)'> Klikni </q></A>";
       }
?>
</head>

<body>
    <div> 
       <?php
         vypis();
       ?>
    </div> 

</body>
Zechy
Profil
dusanga:
Vzhledem k tomu, že se zatím ten výpis generuje, obal $i ještě do nějakých uvozovek. Takhle se vygeneruje pro javascript funkce typu f_ukaz(nějáký string). A jak známo, string musí být v uvozovkách. Šlo by to třeba takto:
echo "<A><q onClick='f_ukaz(\"$i\")'> Klikni </q></A>";
dusanga
Profil
Zechy:
Dakujem. Uz to funguje.
Este mi nie je jasne preco to nejde s

echo "<A><q onClick='f_ukaz(\'$i\')'> Klikni </q></A>";

co som skusal.
Zechy
Profil
dusanga:
Protože ty uvozovky už escapovalo PHP a tudíž se tam dostaly apostrofy do apostrofů, což nejde.
_es
Profil
dusanga [#3], Zechy [#4]:
Okrem toho. keďže ide o HTML atribút, treba použiť HTML „escapovanie“, vloženie apostrofov bude:
echo "<A><q onClick='f_ukaz(&#39;$i&#39;)'> Klikni </q></A>";
Použitie \\\' (vo výslednom HTML z toho \') namiesto &#39; fungovať nebude, lebo apostrof ukončuje atribút a v HTML „escapovanie“ opačnými lomítkami nie je.
dusanga
Profil
Prosim este o jednu radu.
Neviem do JS funkcie predat ako parameter pole.

 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
  <script>
     function pis(aa)
    {
     document.write(aa[0]);
     document.write(aa[1]);
     document.write(aa[2]);
     document.write(aa[3]);
    }
  </script>

  </head>
  <body>
  <?php

  $text[0]="Dobry rano.";
  $text[1]="Dobry den.";
  $text[2]="Dobry vecer.";
  $text[3]="Dobru noc.";

 echo "<A><q onClick='pis(\"$text\")'> Klikni </q></A>"
  ?>
  </body>
</html>
 
Chamurappi
Profil
Reaguji na dusangu:
Neviem do JS funkcie predat ako parameter pole.
Asi na to budeš potřebovat funkci json_encode.
Jakmile tento problém vyřešíš, narazíš na jiný.

Můžu se zeptat, proč používáš zrovna element <q>?

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

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