-- Themselves <[EMAIL PROTECTED]> wrote
(on Wednesday, 08 October 2008, 02:12 AM -0700):
> 
> I'm actually having the exact same problem as the OP with this one, except my
> code works just fine - I can validate the form no problem, I just can't get
> it to validate on a tab that loads behind the currently selected one. 
> 
> I am lazy loading my tabs like: 
> 
> <?= $this->contentPane('new-record', '', array('title' =>
> $this->titles['new-title'], 'class' => 'tab', 'href' =>
> "/record/new/format/ajax", 'parseOnLoad' => true)) ?>
> 
> because it lets me use $this-> correctly, but it also breaks the Javascript
> I put in the view, like it just never gets called. 
> 
> I'm scratching my head to think of a way around this in Zend. Anyone got the
> same problem? 

This is actually not a PHP issue, but a Dojo issue, and even more
generally, a JS issue. 

Basically, XHR doesn't allow execution of <script> contents returned.
So, when you lazy-load content panes, the view script returning the
content cannot contain <script> tags that contain javascript; if they
are returned, they're ignored.

Dojo, of course, has some ways around this, by allowing you to provide
<script> tags with a type of 'dojo/*', where '*' is one of a limited set
of types -- content, method, particular events etc.  

Read more about this in the Dojo manual. My pastebin example has a few
examples:
    
  * For the grid, I had one like the following to connect row clicks:

      <script type="dojo/method" event="onSelected" args="inRowIndex">
          var row = dijit.byId("activePastes").model.getRow(inRowIndex);
          location.href = "<?= $this->baseUrl() ?>/paste/display/id/" + row.id;
      </script>

  * For the forms I lazy load, I had stuff like the following:

      <script type="dojo/connect" event="onLoad">
          dojo.connect(dojo.byId('pasteform'), 'onsubmit', function () {
              dojo.byId('pasteform-code').value = 
dijit.byId('pasteform-codeEditor').getValue(false);
          });
      </script>

Note, however, that all your dojo.require statements will need to be
provided up front, in the original page load; otherwise, your
parseOnLoad is going to fail due to missing dependencies. I've found
that this is a good excuse to start building a good layer file (which
will also help you later when you go to create a custom build). Again,
the pastebin example shows exactly that.


> vladimirn wrote:
> > 
> > So, are we back from conference? :)
> > 
> > vladimirn wrote:
> >> 
> >> Ah :)
> >> I would like i am there :)
> >> Have a nice time :)
> >> 
> >> Matthew Weier O'Phinney-3 wrote:
> >>> 
> >>> -- vladimirn <[EMAIL PROTECTED]> wrote
> >>> (on Wednesday, 17 September 2008, 08:11 AM -0700):
> >>>> 
> >>>> Anyone? :(
> >>> 
> >>> Sorry, a lot of us are at ZendCon this week. ;)
> >>> 
> >>>> 
> >>>> 
> >>>> vladimirn wrote:
> >>>> > 
> >>>> > Hello all,
> >>>> > is anyone here able to help about form validation please?
> >>>> > After pressing submit button expected behaviour is stopping form
> >>>> > submission if checkbox is not checked.
> >>>> > 
> >>>> > I have a bunch of stuffs in my form.
> >>>> > So far, checkbox validation wont work. 
> >>>> > $agreements->addElement ( 'CheckBox', 'ages', array ('required' =>
> >>>> true,
> >>>> > 'label' => 'I\'m Over 18 years old') )
> >>>> > 
> >>>> > Submit button:
> >>>> > $footer->addElement ( 'SubmitButton', 'submit', array ('label' =>
> >>>> > 'Submit!','style'=>'clear:both' ) );
> >>>> > 
> >>>> > view script:
> >>>> > <? $this->dojo()->javascriptCaptureStart() ?>
> >>>> > function validateForm() {
> >>>> >     var form = dijit.byId("signup");
> >>>> >     if (!form.validate()) {
> >>>> >         alert("Invalid form");
> >>>> >         return false;
> >>>> >     }
> >>>> >     return true;
> >>>> > }
> >>>> > <? $this->dojo()->javascriptCaptureEnd() ?>
> >>>> > <? $this->dojo()->onLoadCaptureStart() ?>
> >>>> > function () {
> >>>> >     dojo.connect(dijit.byId("signup"), "onSubmit", "validateForm");
> >>>> > }
> >>>> > <? $this->dojo()->onLoadCaptureEnd() ?>
> >>>> > <div class="signupForm">
> >>>> > 
> >>>> > <?= $this->form ?>
> >>>> > </div>
> >>>> > 
> >>>> 
> >>>> -- 
> >>>> View this message in context:
> >>>> http://www.nabble.com/Checkbox-and-Dojo_foRM-validation%2C-please-help-if-anyone-know-how-tp19512338p19534303.html
> >>>> Sent from the Zend Framework mailing list archive at Nabble.com.
> >>>> 
> >>> 
> >>> -- 
> >>> Matthew Weier O'Phinney
> >>> Software Architect       | [EMAIL PROTECTED]
> >>> Zend Framework           | http://framework.zend.com/
> >>> 
> >>> 
> >> 
> >> 
> > 
> > 
> 
> -- 
> View this message in context: 
> http://www.nabble.com/Checkbox-and-Dojo_foRM-validation%2C-please-help-if-anyone-know-how-tp19512338p19875163.html
> Sent from the Zend Framework mailing list archive at Nabble.com.
> 

-- 
Matthew Weier O'Phinney
Software Architect       | [EMAIL PROTECTED]
Zend Framework           | http://framework.zend.com/

Reply via email to