cocoon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Sylvain Wallez <sylv...@apache.org>
Subject Re: [CForms] having more control over showing/processing a form
Date Wed, 11 May 2005 09:34:07 GMT
Bart Molenkamp wrote:

>Hi all,
>
>Currently, in flowscript, you display a form by calling
>form.showForm(uri). This function loops until the form is successfully
>processed. There is, as far as I can see, no way to get between there.
>
>I wonder if it would be useful to define two more functions in Form.js,
>that allow me to have better control over displaying/processing a form.
>E.g. something like:
>
>var form = new Form("form.xml");
>
>...
>
>var finished = false;
>do {
>  form.showPage("form-template.xml");    // show the form only once.
>  
>  if (user clicked some link) {
>    ...
>    // dome something else
>  } else {
>    finished = form.process();           // process the form only once.
>  }
>} while (!finished);
>
>In this case, I do the looping that is otherwise done in the
>form.showForm() function. But now I have more control over the form
>flow. And, form.showForm() still exists and can be built using the above
>two new methods.
>
>I can make this change. Would it be valuable addition for CForms, or
>not?
>  
>

You can already to this without having to insert some code within the 
showForm loop (which BTW is no more a loop in 2.1.7): you can place an 
<fd:submit validate="false"> that will exit the shorForm function.

The corresponding flowscript could then look like:

var redisplayForm = true;
while(redisplayForm) {
    form.showForm();
    switch(form.submitId) {
        case "details":
            showDetails();
            break;
        case "create":
            createNew();
            break;
        case "cart":
            redisplayForm = false;
            showCart();
            break;
        case "ok":
            redisplayForm = false;
            processForm(form);
            break;
    }
}

Does it answer your need?

Sylvain

-- 
Sylvain Wallez                        Anyware Technologies
http://apache.org/~sylvain            http://anyware-tech.com
Apache Software Foundation Member     Research & Technology Director


Mime
View raw message