[Zope3-Users] z3c.formjs - global js-variables and form-content in scripts
garz
garz at gmx.net
Thu Sep 18 12:01:14 EDT 2008
you wrote:
>
> Again I'm not sure if you are talking about server or client. From
> the server perspective, if you have
>
> @jsfunction.function('z3c')
> def myFunc(self):
> return u"alert('the fields in this form are %s');" % [w.id for w in
> self.widgets.values()]
>
> then calling the function from javascript will give the widgets of
> that field. But of course this gets hard coded into the javascript
> function so it is not dynamic from the client perspective.
>
i'm talking about the server-side. the example that you wrote doesnt work,
because when the function is rendered, the following happens:
@property
def arguments(self):
args = inspect.getargspec(self.function)[0]
if args[0] is 'self':
del args[0]
return args
def render(self):
return self.function(*[x for x in ['self'] + self.arguments])
the value of the parameter self is not longer the form, its only a string
with the content 'self'. but even if it was not that way, a self doesnt
exist because the jsfunctions are added in the class description. the thing
one would have to do is register those functions in the update-method for
example and additionaly change the render-method of the jsfunction. this
works but this is what i meant when i wrote hacky.
> You can include any global javascript functions the same way you
> include style sheets and other resources: either by placing said
> script directly into your layout template, or using JavaScriptViewlet
> objects and the viewlet manager pattern.
>
i think with global variables its the same. i want those global variables
have values coming from my form. so i cant use an external js-script file
and register it.
another you wrote:
>
> If it were a widget for List fields, it would be a great addition to,
> um, z3c.widget? z3c.listwidget? I think.
>
i first wanted to make a widget, but then i came to the conclusion, that
widgets should be atomic. if a widget is composed of more than one element,
then its a form. otherwise there would be no difference between those.
imagine the widget-switch from formjs for a widget that is composed of more
than one element. that wouldnt make any sense. so there will be a subform.
--
View this message in context: http://www.nabble.com/z3c.formjs---global-js-variables-and-form-content-in-scripts-tp19543467p19556221.html
Sent from the Zope3 - users mailing list archive at Nabble.com.
More information about the Zope3-users
mailing list