Autor Zpráva
hal_sk
Profil
Zdravím.
Mám formulár. Do textarey napíšem text, v selectboxe vyberiem znak napr. "a", stlačím "odoslať" a php skript mi spočíta koľkokrát sa "a" nachádza v zadanom texte.

To funguje. Ale ja by som potreboval docieliť, to aby sa výsledok nezobrazoval na novej čistej stránke, ale v tom žltom DIV-e "mistoZobrazeni", pomocou AJAX-u. Bez refrešu stránky a najlepšie hneď, bez stlačenia "submit" (neni podmienkou).

V HTML kóde mám už pre AJAX niečo predpripravené (pomáhal som si návodom). Ale bol by som Vám vďačný ak by ste mi povedali, že čo tam mám zmeniť, aby to robilo to čo chcem.
Díky.

Zdrojáky:

pocitaj.php
<?
$text = $_GET["text"];
$vyber = $_GET["vyber"];
echo substr_count($text,$vyber);
?>


index.html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1250">
<link href="styles.css" rel="stylesheet" type="text/css" />
<title>
  test
</title>
<html>
  <body>
<script type="text/javascript">
function vyberClanek()
{
var url = document.getElementById("vyber").value;
if (url != 0)
{
if (window.ActiveXObject)
{
httpRequest = new ActiveXObject("Microsoft.XMLHTTP");
}
else
{
httpRequest = new XMLHttpRequest();
}
httpRequest.open("GET", url, true);
httpRequest.onreadystatechange= function () {processRequest(); } ;
httpRequest.send(null);
}
else
{
document.getElementById("mistoZobrazeni").innerHTML = "";

}
}
function processRequest()
{
if (httpRequest.readyState == 4)
{
if(httpRequest.status == 200)
{
var mistoZobrazeni = document.getElementById("mistoZobrazeni");
mistoZobrazeni.innerHTML = httpRequest.responseText;
}
else
{
alert("Chyba pri nacitani stanky"+ httpRequest.status +":"+ httpRequest.statusText);
}
}
}
</script>
    <form name=f value="pocitaj.php" action="pocitaj.php" method="GET">
<textarea value="text" name=text rows="8" cols="40"></textarea>
      <br> Pocet znakov
      <select name="vyber" id="vyber"">
        <option value="a"> a
        </option>
        <option value="b"> b
        </option>
      </select>
      <input type="submit" "/>
    </form>
    <div id="mistoZobrazeni">
    </div>
  </body>
</html>
Nox
Profil
hal_sk
Jestli tomu rozumím správně tak chceš v reálném čase zobrazovat napsaný počet znaků?

například
<form ...name="znaky">
<textarea ...name="pole" onkeyup="Znaky">

function Znaky(){
document.getElementById("mistoZobrazeni")=document.forms["znaky"]["pol e"].length;
}

případně to ještě přidat jako cyklus - setinterval
hal_sk
Profil
Jestli tomu rozumím správně tak chceš v reálném čase zobrazovat napsaný počet znaků?
Stačí mi ak tam bude nejaký prvok, na ktorý keď kliknem, tak sa zobrazý výsledok z "pocitaj.php" do žltého DIV-u "mistoZobrazeni". Neviem jak to nakódit.

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:

Prosím používejte diakritiku a interpunkci.

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