Evo npr. ovako:
Imaš neka četiri dugmeta (nadam se da je to taj gumb koji spominješ

), obrati pažnju na događaje onclick, i na ono što im se prosleđuje kao argument:
Code:
<input type = "button" name = "dugme1" onclick = "test(this.name);" />
<input type = "button" name = "dugme2" onclick = "test(this.name);" />
<input type = "button" name = "dugme3" onclick = "test(this.name);" />
<input type = "button" name = "dugme4" onclick = "test(this.name);" />
<p id = "poruka"></p>
A onda JavaScript kod... E sad, najbolje je da odma' kreneš sa nekim framework-om za JavaScript i AJAX, a ja bih ti preporučio jQuery, jer ima najbolju dokumentaciju u odnosu na ostale. Sa jQuery-jem, JavaScript kod bi izgledao ovako:
Code:
function test(name) {
$.ajax({
type: 'POST',
url: 'test.php',
data: 'dugme=' + name,
success: function(msg) {
$('#poruka').html(msg);
}
});
}
A bez jQuery ili bilo kog drugog pomagala za JavaScript i AJAX, taj kod bi izgledao ovako:
Code:
var xmlHttp;
function test(name) {
xmlHttp = GetXmlHttpObject();
if (xmlHttp == null) {
alert ("Vaš browser ne podržava AJAX.");
return;
}
var url = 'test.php';
xmlHttp.onreadystatechange = promena;
xmlHttp.open('POST', url, true);
xmlHttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8');
xmlHttp.send('dugme=' + name);
}
function promena() {
if (xmlHttp.readyState == 4) {
document.getElementById('poruka').innerHTML = xmlHttp.responseText;
}
}
function GetXmlHttpObject() {
var xmlHttp = null;
try {
//Firefox, Opera 8.0+, Safari
xmlHttp = new XMLHttpRequest();
}
catch (e) {
//Internet Explorer
try {
xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e) {
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
}
return xmlHttp;
}
Pa ti sad vidi...
A onda i PHP kod (test.php):
Code:
$dugme = $_POST['dugme'];
switch ($dugme)
{
case 'dugme1':
{
echo 'Pritisnuto dugme1';
break;
}
case 'dugme2':
{
echo 'Pritisnuto dugme2';
break;
}
case 'dugme3':
{
echo 'Pritisnuto dugme3';
break;
}
case 'dugme4':
{
echo 'Pritisnuto dugme4';
break;
}
}
Naravno, ovaj primer može da se odradi samo sa JavaScript-om, bez AJAX-a, ali ovo je čisto da vidiš kako ide ta komunikacija u pozadini...
[Ovu poruku je menjao Nikola Poša dana 23.04.2009. u 22:53 GMT+1]