Забелязах, че имате "window.location.reload(true);" във вашия код. Защо? Изглежда, че нещата не работят.
Трябва да опитате да анализирате програмата си, за да разберете къде се случва проблемът. Тогава ще можете да ни зададете много конкретен въпрос като „защо Firefox не задейства манипулатора onClick, когато щракна върху тази връзка“, вместо просто да публикувате три страници с код. Когато поставите толкова много код, за нас е доста трудно да открием грешката ви.
Ето въпросите, които трябва да зададете:
-
Правилно ли се анализира моят HTML? За мен изглежда, че може да не е анализиран правилно, защото не сте поставили кавички около стойността на onClick. Трябва да използвате кавички, като:onClick="..." За да разберете дали вашият HTML се анализира добре, можете да използвате функцията View->Source на Firefox и да погледнете цветовете, които отпечатва.
-
Извиква ли се моят манипулатор onClick? Изглежда, че използвате alert() ефективно, така че това е добре.
-
Заявката наистина ли се изпраща до сървъра ми? За да определите това, трябва да използвате Firefox и да инсталирате Firebug разширение. В панела „Net“ ще ви покаже всички AJAX заявки, които се правят от вашата страница, и ще ви покаже резултатите, които са били върнати от сървъра.
-
Дали скриптът на моя сървър работи правилно? Така че от страна на сървъра вече можете да добавяте редове като "echo 'hello world';" и ще видите този изход в панела Firebug Net, който ще ви помогне да отстраните грешките в поведението на вашия скрипт от страна на сървъра.
-
Извиква ли се функцията ми stateChanged? Още веднъж използвайте изрази alert() или пишете в конзолата за отстраняване на грешки на Firebug .
След като стесните проблема си, опитайте се да намалите кода си до най-простия възможен код, който все още не работи. След това ни покажете кода и ни кажете точно какви са симптомите на грешката.
От друга страна препоръчвам да вземете тази книга:Javascript:The Deinitive Guide, 5th Edition от O'Reilly . Той обхваща много готини неща като AJAX и затваряния. Струва $50, но определено е добра инвестиция, защото обяснява нещата по много по-последователен начин, отколкото някога ще получите от безплатни уебсайтове.