Autor Zpráva
MaxDJs
Profil *
Zdravím,

bylo by možno mi poradit proč AJAX předává stáje stejnou hodnotu?

Chyba je vidět zde. Ať kliknu na jakýkoli checkbox, tak mi to vrací stále stejnou hlášku. Musíte si stránku spustit v IE nebo v Opeře, protože jinde neuvidíte barevné rozlišení checkboxů. Tu funkci, která mi nefunguje, mám pouze u červených checkboxů.

Zde je skript:

<script type="text/javascript">
function majitel_sedadla(){
var url = 'majitel.php?sedadlo=' + document.getElementById("sedadlo").value + '&datum=' + new Date().getTime();

     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);
      }	 


}


function processRequest()
{
  if (httpRequest.readyState == 4)
  {
    if(httpRequest.status == 200)
    {
		var majitel = httpRequest.responseText;
		var pattern = /<b>(.+)<\/b>/;
		
		var majitel1 = majitel.match(pattern);
			
      alert ('Sedadlo má rezervované:' + majitel1[1]);
      
	}
  }
}
</script>


Bylo by možný poradit co s tím? Zkoušel jsem i ovlivnit cache, ale to mi nepomohlo. Tak posílám původní skript bez toho ovlivnění cache.
YoSarin
Profil
Ajaxem odesíláš stále ta samá data - tudíž dostáváš stále tu samou odpověď:
http://rezervace.bluefile.cz/majitel.php?sedadlo=1&datum=1306239287969 (čas se mění, ale to patrně nehraje roli, id sedadla je stále stejné)

A pokud můžu doporučit, aby se ti lépe vyvíjelo - používej Firefox s nainstalovaným rozšířením Firebug a aplikaci uprav tak aby fungovalo i ve ff. Pak takovéhle věci zaznamenáš poměrně rychle. Nechci vyvolávat flame, jen doporučuju co se mi osvědčilo.

edit: a teď se cítím jako blbec, špatně jsem si přečetl otázku :-(
MaxDJs
Profil *
A bylo by možno poradit z jakých důvodů se mi předávají stále ta samá data?

Děkuji za odpověď
MaxDJs
Profil *
Firebug nainstalovaný mám
YoSarin
Profil
Stále ta samá data to odesílá proto, že value() na multiple checkbox vrací value prvního checkboxu. Pokud tohle ověření děláš vždy při zaškrtnutí červeného checkboxu, tak kýžené id hledej jiným způsobem, třeba:
<input type="checkbox" id="sedadlo" onclick="majitel_sedadla(this); return false;" value="1" name="sedadla[]" class="obsazene" style="position:absolute; top: 721px; left: 619px;">

function majitel_sedadla(elem){
var url = 'majitel.php?sedadlo=' + elem.value + '&datum=' + new Date().getTime();

     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);
      }     


}
MaxDJs
Profil *
DÍKY MOC. Už to funguje

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:

0