-- 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/