$newForm->addElement('Total', 'number', array('label' => 'Total', 'readonly' => '1', 'id' => 'total')); $elem_10[] = $newForm->createElement('newSubmit', 'submit', array('value' => 'Submit')); $newForm->addGroup("newGroup", $elem_10, array('style' => 'text-align:right;', 'id' => 'newForm_newGroup')); // Add events $onchangeFreight = <<<CHANGEFREIGHT function(event) { var fr = parseFloat(\$("#freight").val()); var tax = parseFloat(\$("#tax").val()); if( fr && tax ) { var tot = fr*tax; \$("#total").val( tot.toFixed(2) ); } } CHANGEFREIGHT; $newForm->addEvent('freight', 'change', $onchangeFreight); $onchangeTax = <<<CHANGETAX function(event) { var fr = parseFloat(\$("#freight").val()); var tax = parseFloat(\$("#tax").val()); if( !isNaN(fr) && !isNaN(tax) ) { var tot = fr*tax; \$("#total").val( tot.toFixed(2) ); } } CHANGETAX; $newForm->addEvent('tax', 'change', $onchangeTax); // Add ajax submit events $newForm->setAjaxOptions(array('iframe' => false, 'forceSync' => false)); // Demo mode - no input