Autor Zpráva
gogy27
Profil
Zdravím,
mám taký menší problém pri tomto skripte:
function VyporadanaPonuka(id) {
    AjaxPost("admin/ajax/vyporadat_ponuku.php", "id=" + id, 
            function () { 
               if (xmlHttp.responseText == "<e1>") {
           $('admin_ponuka' + id).innerHTML = 'Výherca nebol potvrdený';
                 }
                 else {
          window.location.reload();
         }
        } 
    )    
}

Všetko funguje fajn, ale stránka sa mi aj napriek tomu, že xmlHttp.responseText == "<e1>" refreshne. Teda vypíše sa: Výherca nebol potvrdený a hneď na to sa stránka refreshne.
Môže niekto poradiť v čom je problém?
_es
Profil
gogy27:
Môže niekto poradiť v čom je problém?
Z dodaných informácií asi nie, viď Povídání o živých ukázkách.
Chamurappi
Profil
Reaguji na gogyho27:
a hneď na to sa stránka refreshne
Je možné, že to refreshnutí už nemá na svědomí tvůj osmý řádek, ale něco jiného (což si ostatně můžeš ověřit tím, že tam místo osmého řádku dáš třeba alert). Oblíbenou příčinou bývá nestornování výchozí akce při kliknutí na odkaz či odesílací tlačítko.
gogy27
Profil
_es:
Nemôžem tu dať živú ukážku, keďže to robím pre administráciu už zabehnutej stránky

Chamurappi:
Alert sa vykoná taktiež. Zaujímavé, že sa to vypíše dvakrát naraz. Akokeby sa tá funkcia volala viackrát. Ak xmlHttp.responseText sa nerovná "<e1>" tak sa správne vykoná iba to čo je za else.
Joker
Profil
gogy27:
Nemôžem tu dať živú ukážku, keďže to robím pre administráciu už zabehnutej stránky
Viz obvyklé výmluvy.
Chamurappi
Profil
Reaguji na gogyho27:
Akokeby sa tá funkcia volala viackrát.
Vida, to je zajímavý poznatek… teď stačí zjistit, proč se volá víckrát. (Což se z pohledu na kousíček kódu dělá opravdu těžko.)
Tipnul bych si, že ve funkci AjaxPost nečekáš na xmlHttp.readyState == 4 a voláš callback funkci při každém onreadystatechange, takže i v okamžicích, kdy je xmlHttp.responseText ještě prázdný.
gogy27
Profil
Chamurappi:
Ďakujem veľmi pekne. Toto naozaj pomohlo :) Musím ešte ten Ajax sa doučit. Už som sa trápil so živou ukážkou. Som rád, že sú tu ľudia, ktorí chcu pomôcť a nie len poučovať.
Chamurappi
Profil
Reaguji na gogyho27:
Rádo se stalo. Nicméně s živou ukázkou (nebo s větším kusem zdrojáku) by šlo rozpoznat příčinu rychleji. Trefil jsem se jen náhodou…
panther
Profil
gogy27:
Som rád, že sú tu ľudia, ktorí chcu pomôcť a nie len poučovať.
mýlíš se. Nejde o pouhé poučování, ale živá ukázka prozradí často mnohem více, než si sám myslíš. je to usnadnění pro ty, kteří ti pomoci chtějí.

Jen doplním, že jsi uvedl kus kódu, ale příčinu problému tipoval Chamurappi naslepo, v uvedeném kódu se tato chyba nevyskytuje.

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: