May I share a helper function borrowed from RoR, that renders a button
which is inline by default (meaning you can put it anywhere on web
page just like a link, no line feed will happen) but you can set any
style. Put it somewhere to models directory. Call it from your
template code as e.g.
{{=BUTTON_TO(T('Change Avatar'), URL
(request.application,'default','user/change_password'))}}
If users find this useful I can port more helpers from RoR, and
Massimo could tell us where it is best to put them - maybe in modules?
# similar to Rails button_to
def BUTTON_TO(name, uri, confirm=None, style="display:inline;margin:
0px;", target=None):
if target:
c = confirm and ("return confirm(\"%s\");" % confirm) or ''
f = FORM(INPUT(_type="submit",_value=name),
_style=style,
_onclick="javascript:" + c + target + ".location='" +
uri +"';return false;")
else:
f = FORM(INPUT(_type="submit",_value=name),
_style=style, _action=uri,
_onclick=confirm and ("javascript:return confirm(\"%s
\")" % confirm) or None)
return f
# similar to Rails button_to but calls javascript prompt
#prompt parameter must be a tuple of text and suggested value
#uri must have GET params part because what user entered into prompt
dialog is passed to server thru uri
#e.g. uri='www.com?x=' or uri='www.com?x=100&y='
def PROMPT_TO(name, uri, prompt=('Enter value', '0'),
style="display:inline;margin:0px;", target=None):
c = prompt and ("promptValue=prompt(\"%s\", \"%s\")" % prompt) or
''
if target:
f = FORM(INPUT(_type="submit",_value=name),
_style=style,
_onclick="javascript:%s;
%s.location='%s'+promptValue;return false;" % (c, target, uri))
else:
f = FORM(INPUT(_type="submit",_value=name),
_style=style,
_onclick="javascript:
%s;document.location='%s'+promptValue;return promptValue==null;" % (c,
uri))
return f
def SCRIPT(scrpt):
return XML("<script type=\"text/javascript\"><!--\n" + scrpt +
"\n//--></script>")
On Oct 21, 8:56 pm, waTR <[email protected]> wrote:
> I simply use javascript for a button. In my <select type=button> code,
> I put a on-click="javascript to open link to {{=URL()}}"
>
> On Oct 20, 9:59 pm, mdipierro <[email protected]> wrote:
>
>
>
> > 3) URL builds the url to the action /app/controller/function,
> > request.application is the name of the current application so that the
> > link does not break if it is renamed
>
> > 2) it is a flag that should be set to True if the menu item should be
> > selected. The default layout does not use this flag but some layouts
> > may give a different class (color/style/background) to a selected menu
> > item.
>
> > On Oct 20, 11:31 pm, Checho <[email protected]> wrote:
>
> > > Thanks for your answer Massimo!
>
> > > Can you explain me in this statement which are the parameters???
>
> > > "[T('Change Avatar'), False,URL(request.application,'default','user/
> > > change_password')]"
>
> > > 1. I supose de 1st parameter is the name of the option in the menú.
> > > 2. What does it mean having False instead of True???
> > > 3. In URL, where is redirected the user after clicking there which is
> > > the meaning of "request.application"?
>
> > > Thanks...again
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"web2py-users" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/web2py?hl=en
-~----------~----~----~----~------~----~------~--~---