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)); // Add javascript code $javascriptnewForm = <<<JSNEWFORM \$("#newForm_ShipName").val("Name set with javascript code"); \$("#newForm_ShipAddress").val("Address set with javascript code"); JSNEWFORM; $newForm->setJSCode($javascriptnewForm); // Demo mode - no input $newForm->demo = true; // Render the form echo $newForm->renderForm($jqformparams);