i built a css table which is filled by xajax. The problem is that it looks nice in FF but not in IE8 or IE9. Does anyone have any ideas?

Original posting:
http://community.xajax-project.org/topi … nd-filter/

Online example:

thx for any replies

this is an example (i'm still working on it) for a table which is filled by xajax.
It does not use html table/tr/td tags so it is not necessary to use the complicated xajax-tableupdater plugin. Instead it is build up with the new CSS table commands which makes it possible to edit/remove/add single or all entries/rows via xajax.
Also check out the filter possibility, and feel free to add remove entries.


A problem remains, which i want to discuss here. Check this link out with FF. looks nice. Try IE8/9 and the structure is destroyed. I have no clue why and didn't find anything on the internet. Any ideas? btw. can someone tell me how it looks with chrome?


When editing tables with ajax remember taht it only works in FF and chrome. it won't work in IE, bc. strictly it is not allowed to simply append/insert rows.
If you want it to work you will have to use the xajax-plugin "tableupdater" which uses DOM, or better: create your tables not with the html table tag but with the CSS3 table styles where you can turn your divs/spans into tables/rows/columns.

  $retorno = $classe -> $funcao;
could it be that you pass a string to a class? i thin you should get information on the php function "eval"

romacron wrote:

why you don't use the json transporter (started in 0.6). less data transportation and and and...?

hmmm...i know, i started the project 2 years ago and back then i had no clue about JSON
aaaannnnd: sorry my mistake. It's XAJAX 0.5!

This site is an online demo of a site which usually runs within a LAN for a group of researchers doing mass spectrometry.
Data files can be uploaded and are then processed automatically. The site heavily uses xajax (edit: not 0.6 but 0.5) , mostly to dynamically create/modify tables of data.
Also nice graphs are plotted using xajax and jpgraph.
Just click around.


Happy to hear that XAJAX has a future!

Maybe update and better document the table updater plugin for better dynamically table manipulating?


(1 replies, posted in Troubleshooting)

I'm using the EasyPHP5.4ORC4 distribution with xajax 0.5. No problems.

good to know   thx!

just in case someone is interested, Ed is right. This works.


$objResponse->setevent("database_show_peplists_row_$row","onmouseover","this.style.color='#44B';this.style.fontWeight = 'bold';");

Hi all,
i recently downloaded the eval of both of the above tools and tried to compile a little huge xajax site i made.
zzee just gave an error 404 with no further information and "exe for php" gives me

PHP Fatal error: Class xajaxUserFunction not found in......  \xajax_core\xajax.inc.php on line 1305   

I was just wondering if anyone ever tried to compile a xajax project to an exe which worked and which tools he/she used?

btw i know about bamcompile but it is just suitable for comandline scripts and not if you need an emulated browser.


(8 replies, posted in Troubleshooting)

digging this up because i run into the same problem and found a solution:
the queue is limited to 1000 entries.  a simple (but not so elegant) way to make this work is to change the value.
this will bring more work to the client browser.

change the value in the 2 xajax_core js files:
xajax.config.setDefault('responseQueueSize', 1000);

digging this up because i run into the same problem and found a solution:
the queue is limited to 1000 entries.  a simple (but not so elegant) way to make this work is to change the value.
this will bring more work to the client browser.

change the value in the 2 xajax_core js files:
xajax.config.setDefault('responseQueueSize', 1000);

i have an element which i assign an onClick event by using the setevent function.
Is it somehow possible to add a second function to the onClick event later?

If i use setevent or addevent to assign a second function later, it (of course) overrides the first assigned function and only the second function gets executed.

Thanks for any help.

sorry, i don't understand the question. Could you be more precise?

Hey, thanks!
Just wanted to add (in case anyone needs it) my problems were:
* Each JS line in the script above needed to be terminated with a ";"
* It did not work when i called 2 xajax functions from one event. e.g.: onClick=\"xajax_fu_1;xajax_fu_2;\"

since i got no response this might not be so easy.
So another question for a workaround. Is it possible to trigger the function which shows the loading image at start of the xajax-function? don't think so because when i write this into the response object it is only triggered when the response object is returned...   or am i wrong?

i want to show a progress bar while xajax function is running (like in the wiki).
In my head I use

<script type="text/javascript">
xajax.callback.global.onRequest = function() {xajax.$('div_loading').style.display='inline';}
xajax.callback.global.beforeResponseProcessing = function() {xajax.$('div_loading').style.display='none';}

In my xajax function i generate a graph out of database-data (a png file is created and saved to the hdd, takes a few seconds). The loading-div pops up at the beginning of the function, but disappears immediately. The function is then finished a few seconds later.
My workaround is to not use the "beforeResponseProcessing" line and to add a $objResponse->assign('div_loading', 'style.display', 'none'); at the and of the xajax functions.
This is not the elegant way. Anyone any ideas what i'm doing wrong?


For the newbies i just wanted to add to Ed's very interesting post #2:
The lines which go into the head tag have to be tagged with <script type="text/javascript">..</script>

What's your question or problem?

Don't know if i understand your question, but do you mean

$_POST[....] instead of   "$post['usuario'];"


Glad it works and that i could help.

if i got your question right, just have a span or div with an ID. in this span, create your spand via xajax and in your foreach function use the append() function of xajax.
http://www.xajax-project.org/en/docs-tu … se/append/

like this:
$objResponse->append('my_ueber_span_1', 'innerHTML', '<span id=\"$v\"></span>');
return $objResponse;

It works, Thanks!

Just a few notes:
Ed: the code for removal (your last post) was already removed in the JS code you gave me in posting #10.
Also, as you mentioned, the JS needs some tweak. There's a bug which adds to many columns. Add a "-1" in the for statement and it works.
I also added this in the bugreport thread.

For all future users, here's the JS code that works (just edit your tableUpdater.js):

function insertAfter(newElement,targetElement) {

      var parent = targetElement.parentNode;

      if(parent.lastchild == targetElement) {


      } else {

        parent.insertBefore(newElement, targetElement.nextSibling);


    xajax.ext.tables.rows.insert = function(id, source, position) {
        var objects = { source: source }
        xajax.ext.tables.internal.objectify(objects, ['table', 'body']);
        if ('undefined' == typeof objects.row)
            xajax.ext.tables.rows.internal.calculateRow(objects, position);
        var row = xajax.ext.tables.internal.createRow(objects, id);
        if ('undefined' != typeof objects.columns) {
            for (var column = 0; column < objects.columns.length-1; ++column) {
                var cell = xajax.ext.tables.internal.createCell(objects, null);
                cell.innerHTML = '...';
        if (position == 'after') insertAfter(row, objects.row);
        objects.body.insertBefore(row, objects.row);

call it like this: