Form select on change in a portlet

1 message Options
Embed this post
Permalink
taito () Form select on change in a portlet
Reply Threaded More More options
Print post
Permalink
Hello,

A custom portlet has a form with select tag.
There is a "submit" button right now to select the value which works fine,
but now I want to have same effect without submit button.
I used onchange="this.form.submit()" without success.
Can somebody point out what am I doing wrong?

The form:

    <form method="post"
          tal:attributes="action view/current_url">

      <div class="portletContent">

      <select name="currency_code" id="currency_code"
                 onchange="this.form.submit()">
        <tal:block tal:repeat="cnc view/currency_code_and_name_list"
                   tal:define="sc view/sc_code">
          <option value="None"
                  tal:content="cnc/name"
                  tal:attributes="value cnc/code;
                                  selected python: cnc['code'] == sc">
          </option>
        </tal:block>
      </select>

     <noscript>
      <input class="standalone"
             type="submit"
             id="form.button.Update"
             value="Update"
             name="form.button.Update"
             i18n:attributes="value"/>
      </noscript>

    </div>
    </form>


Class:
class Renderer(base.Renderer):

    render = ViewPageTemplateFile('currency_info.pt')

    def update(self):
        super(Renderer, self).update()

        ## Defines.
        form = self.request.form
        context = aq_inner(self.context)
        sdm = getToolByName(context, "session_data_manager")
        session = sdm.getSessionData(create=True)

        ## Check buttons.
        update_button = form.get('form.button.Update', None) is not None

        if update_button:
            session.set('selected_currency_code', form.get('currency_code'))
            return self.render()

    def current_url(self):
        """Returns current url"""
        context= aq_inner(self.context)
        context_state = self.context.restrictedTraverse("@@plone_context_state")
        url = context_state.current_page_url()
        return '%s' % (url,)


Taito

_______________________________________________
UI mailing list
[hidden email]
http://lists.plone.org/mailman/listinfo/ui