function makeRemoteForm($options = array()) { if (!$this->form) { // TODO: raise error since we can't update a non-existent form. Must call getForm first. return; } include_once 'view/helpers/javascript_helper.php'; $form =& $this->form; if ($validation = $form->getAttribute('onsubmit')) { // try { var myValidator = validate_add_person_form_10; } catch(e) { return true; } return myValidator(this); $validation = 'var validated=false; try {var myValidator = validate_' . $form->getAttribute('name') . '; } catch(e) { validated=true; } if (myValidator) { validated=myValidator(this); } '; $options['condition'] = 'validated'; } if (isset($options['url']) && is_array($options['url']) && isset($options['url']['controller'])) { $controller =& NController::singleton($options['url']['controller']); } else { $controller =& $this->controller; } $options['form'] = true; $function = JavascriptHelper::remoteFunction($controller, $options); $function .= '; return false;'; $form->updateAttributes(array('onsubmit' => $validation . $function)); }
function linkToRemote(&$controller, $name, $options = array(), $html_options = array()) { return JavascriptHelper::linkToFunction($controller, $name, JavascriptHelper::remoteFunction($controller, $options), $html_options); }