Try the select event. If the handler for that event returns false you
won't be allowed to switch tabs. Something like:
var $tabs = $('#foo').tabs().bind('select.ui-tabs', function(e, ui)
{
    return validateForm( $('#tabcontent div.ui-tabs-container:visible
form')[0] );
});

I assumed youhave to pass in a form element to the validateForm
function and that this function returns true or false.

I guess it'll be better if the ui object also contained the currently
selected tab/panel and not only the one that was clicked - that way
it'll be a bit easier to get the form out of the visible tab panel.
But my solution should work for now.


--Klaus



On Feb 14, 6:47 pm, "[EMAIL PROTECTED]"
<[EMAIL PROTECTED]> wrote:
> Hi,
>
> I'm using the jQuery tabs plugin from herehttp://docs.jquery.com/UI/Tabs.
> I have a number of AJAX tabs.  When one of the tabs loads (the tab
> "Properties"), it loads with a form.  How do I call my validate form
> function and then submit this form when a user clicks on a different
> tab?
>
> Here are the relevant parts of the code:
>
> <html>
> <head>
>
>         <script type="text/javascript">
>             function validateForm(whichForm) {
>             ...
>             }
>
>             $(function() {
>                 $('#tabcontent > ul').tabs();
>             });
>         </script>
> </head>
> <body>
>
> <div id="tabcontent">
>             <ul>
>                 <li><a href="doc_properties.php"
> title="Document"><span>Properties</span></a></li>
>                 <li><a href="tabs.php" title="Tabs"><span>Tab #2</
> span></a></li>
>             </ul>
> </div>
>
> </body>
> </html>
>
> Thanks, - Dave

Reply via email to