Gelöst! ajaxFunktion führte nur beim FireFox zu status==0

Nach langem suchen habe ich rausbekommen, weswegen bei folgender Form die AJAX Funktion mit einem status 0 einherkam.

<form name=”frm_new_user” action=””>
<input name=”USERTOADD” value=””/>
<input type=”submit” onclick=”ajaxFunction(‘adduser’,document.forms[‘frm_new_user’].elements[‘USERTOADD’].value)” name=”btn_add” value=”Add User”/>
</form>

der Firefox hatte beim drücken des Button danach die Seite neu geladen, was daran zu sehen war, dass in der URL und im LOG des Server plötzlich hinten dran “?USERNAME=testuser2″ stand. Hier unterscheiden sich Firefox und IE mal wieder. Am Ende half es den Button außerhalb der <form></form>abzulegen, dann lief das Ganze.

<form name=”frm_new_user” action=””>
<input name=”USERTOADD” value=””/>
</form>
<input type=”submit” onclick=”ajaxFunction(‘adduser’,document.forms[‘frm_new_user’].elements[‘USERTOADD’].value)” name=”btn_add” value=”Add User”/>

Etwas später fand ich auch die Erklärung und eine weitere Lösung. Im onclick= muss am Ende einfach ein ; return false angehangen werden, damit wird die standardmäßige Abarbeitung auch unterbrochen.

<form name=”frm_new_user” action=””>
<input name=”USERTOADD” value=””/>
<input type=”submit” onclick=”ajaxFunction(‘adduser’,document.forms[‘frm_new_user’].elements[‘USERTOADD’].value); return false” name=”btn_add” value=”Add User”/>
</form>

This entry was posted in solved and tagged , , . Bookmark the permalink.