Autor Zpráva
Jan Knížek
Profil
Dobrý den, dělám AJAXové přihlášení a potřebuji, aby prohlížeč několikrát komunikoval se serverem. Mám tento kód:
$("#prihlasit").click(function(){            
  $.post("prihlaseni/prihlasit.php", {jmeno: $("#jmeno_prihlasit").val(), heslo: $("#heslo_prihlasit").val()}, function(vystup){
    $("#levy_prihlaseni").html(vystup); 
  });
});

Vždy když kliknu na formulářové tlačítko, potřebuji, aby prohlížeč přijal dta od serveru. To se ale stane pouze jednou, pak musím znovu načíst stránku? Myslím si, že by to mohlo být tím, že prohlížeč ještě na něco čeká a nemůže znovu do tohoto kódu. Všechen ostatní kód JS funguje.
Díky, Jan Knížek
Darker
Profil
A není výstup pokaždé stejný? Není chyba v PHP skriptu? (vytvoření chybné SESSION třeba)
Chamurappi
Profil
Reaguji na Jana Knížka:
JavaScript není CSS, nemůžeš očekávat, že události přiřazené k elementu s id="prihlasit" budou přiřazené pořád, i poté, co dotyčný element zrušíš a nahradíš novým. Přiřazení zpracování události se děje jen v ten okamžik, kdy se daný skript zpracovává. Pokud přegeneruješ HTML kód, musíš funkce znovu přiřadit.

Ale to jen hádám… dal jsi málo informací. Druhá možnost, která mě napadla, je, že #prihlasit je odesílací tlačítko (což by bylo rozumné) a nestornoval jsi výchozí akci, ale to symptomům neodpovídá, takže sázím spíš na tu nerozumnou verzi a nepostřehnutí kauzality.
Jan Knížek
Profil
Reaguji na Chamurappi:
omlouvám se:(, nechápu proč mi to nedošlo.
Díky za rychlou radu vám oběma ;)

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