Peter Bowers writes:
On the first one (${PageUrl}, get) it does *not* work.

On the second one (${PageUrl}, post) it *does* work.

On the third one (${ScriptUrl?n={$FullName}, get) it *does* work.

The third method is "post".

Anyways, I have reviewed the standard specifications here:

 http://www.w3.org/TR/html401/interact/forms.html#submit-format
 https://developer.mozilla.org/en-US/docs/HTML/Element/form

and it appears that when you use the "get" method, the browser opens a URL which is constructed by the "action" attribute of the <form> element, with appended "?" then the url-encoded data set. The browsers I tested strip the existing query string from the "action", that is the part starting with "?" and construct the URL like in the standard.

When PathInfo is enabled, there is no "?..." part in the $PageUrl string, and the browsers don't strip anything; later PmWiki will calculate the pagename variable from the query string, so it works.

So, when we use a "get" method and when PathInfo is not enabled, we have to add the (:input hidden n {$FullName}:) form field. You can use in the action attribute either {$PageUrl} or {$ScriptUrl}.

When we use a "post" method (default for PmWiki forms), the standard sets a different encoding format and the browser doesn't strip anything from the action URL. So it works on your site and on mine.

It is possible that some browsers or browser versions don't strip the existing query string, but recent versions of the major browsers seem to all strip it when a form is submitted via the "get" method.

Does this reply to your question?

Petko


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

Reply via email to