Zdravím.
Mám formulár http://www.2001.genezis.eu/php_ajax_pokusy/index.html. 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 z php 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>