you can simply use:

<form ...>

instead of

{{=XML(form.custom.begin.replace(....))}}



On Oct 16, 5:05 pm, Miroslav Gojic <miroslavgo...@gmail.com> wrote:
> After some time and several trays I get solution
>
> in view for custom form I used
> {{=XML(form.custom.begin.replace('action=""', 'action="people"'))}}
>
> and it produce code in source:
> <form  action="people" enctype="multipart/form-data" method="post">
>
> and my form now work and I have not empty action field
>
> Thanks everybody for help
>
> - - Miroslav Gojic - -
>
>
>
>
>
>
>
> On Sun, Oct 16, 2011 at 19:41, Anthony <abasta...@gmail.com> wrote:
> > I see the problem -- setting the '_action' attribute after the form is
> > created doesn't affect form.custom.begin, which is what you are using.
> > Instead, try this in the view:
>
> > {{=form.custom.begin.replace('action=""', 'action="%s"' % URL()}}
>
> > URL() should generate the URL of the current action (though it won't
> > include args and vars, so you'll have to add those explicitly if your URL
> > happens to use them).
>
> > However, I'm not sure it's necessary to have a non-empty action for valid
> > HTML5 -- see #9 here:
> >http://www.whatwg.org/specs/web-apps/current-work/multipage/associati....
> > An empty action appears to be valid.
>
> > Anthony
>
> > On Sunday, October 16, 2011 12:50:29 PM UTC-4, miroslavgojic wrote:
>
> >> I try next example and all mentioned options:
>
> >> def people():
> >>     form = crud.create(db.person,next=**URL('people'),message=T("**record
> >> created"))
> >>     form['_action'] = URL('index')
> >>     return dict(form = form)
>
> >> but my action field in form is empty.
>
> > What do you mean the action field is empty? When I try the exact code
> > above, I get the following in the resulting source html:
>
> > <form action="/testapp/default/index" enctype="multipart/form-data" method
> > ="post">
>
> > Are you expecting something else?
>
> > - - Miroslav Gojic - -
>
> >> On Sun, Oct 16, 2011 at 16:09, Anthony <abas...@gmail.com> wrote:
> >> > On Sunday, October 16, 2011 3:23:01 AM UTC-4, miroslavgojic wrote:
>
> >> >> I tray to put mentioned examples into controller after my form
> >> definition
>
> >> >> form['_action'] = URL(index')
> >> >> form.update(_action=URL('**index'))
> >> >> form.attributes.update(_**action=URL('index'))
>
> >> >> but it is not happened anything,
>
> >> > What exactly happened? I assume this does change the form action as
> >> > expected, but then nothing happens when you submit the form? When you
> >> change
> >> > the form action, the form will get submitted to that action. If you
> >> submit
> >> > the form to 'index', then your 'index' function will have to process the
> >> > submitted form -- if there's no code in your 'index' function to do so,
> >> then
> >> > nothing will happen. In web2py, forms are typically self-submitting
> >> (i.e.,
> >> > submitted to the action that generated them). Is there a reason you want
> >> to
> >> > submit the form to a different action?
>
> >> >> and if I change my value I just get error
>
> >> >> form.update(_action=my_value) - this make error
>
> >> > What is my_value? Is it a URL?
>
> >> >> In view after beginning of form.custom.start I tray next similar code
> >> >> {{=form['_action'] = URL(index')}}
>
> >> > I assume you mean form.custom.begin? Anyway, it will not work to change
> >> the
> >> > form action after that because form.custom.begin actually inserts the
> >> <form>
> >> > tag with the action specified -- so changing the action after will not
> >> > affect the way the form is serialized.
> >> > Anthony

Reply via email to