On Thursday 01 April 2010 05:13:10, DaveG wrote :
> In PmForm HandlePmForm(), a Redirect() is performed at the end of
> processing. This prohibits additional cookbook processing after PmForm.
> Specifically it means that any Ajax oriented PmForm requests are not
> possible.

A while ago I tinkered with an Ajax webapp and I used this line :

  if(@$_GET['ajax']>'') $EnableRedirect = 0;

The JavaScript sends the PmForm with an additional parameter "&ajax=1". This 
blocks the redirects and sends a HTML page and the JavaScript program can 
parse it and decide what to do.

> My proposal is below, although I'm open to any change that allows
> re-directing to a cookbook defined function.

Alternatively, you can write/clone your own MyHandlePmForm() without the 
redirect, and use $HandleActions['pmform'] = 'MyHandlePmForm';

> Change to PmForm, last line in HandlePmForm() from:
>    Redirect($pagename, '{$PageUrl}?pmform=success');
> 
> To:
>    $PmFormRedirect('success');
> 
> 
> And the addition of a function:
>    function PmFormRedirect($msg){
>    global $pagename;
>      Redirect($pagename, '{$PageUrl}?pmform='.$msg);
>    }
> 
> And at the start of PmForm, the initialization of the new variable:
>     SDV($PmFormRedirect,'PmFormRedirect');

It might be more something like this :
  SDV($PmFormRedirectFunction,'Redirect');
  $PmFormRedirectFunction($pagename, '{$PageUrl}?pmform=success');

Petko

_______________________________________________
pmwiki-devel mailing list
pmwiki-devel@pmichaud.com
http://www.pmichaud.com/mailman/listinfo/pmwiki-devel

Reply via email to