首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jqueryui Tabs + onunload

jqueryui Tabs + onunload
EN

Stack Overflow用户
提问于 2013-06-22 16:19:31
回答 1查看 162关注 0票数 0

我在页面上有jqueryui选项卡,当单击" tabs“链接时,会切换页面周围的各种<section>元素,换句话说,我的所有内容都在一个页面(一个文件)上。

我遇到的问题是,如果您愿意的话,在一个<section>或一个"Tabs“上,我想确保用户在离开该部分之前已经填写了所有字段/提交了一个表单。它是一个多部分、多部分、多ajax的请求表单.因此,如果用户已经填写了所有内容并提交了,这是可以的。他以后可以走了。

但是,如果用户开始表单提交,但没有完成,并且尝试单击另一个选项卡,我希望有一个像“停留在页面”离开页面这样的弹出窗口。

在dom中,我相信我可以使用一个onunload钩子,但是我不知道如何在jqueryui选项卡中做到这一点。有什么想法,我可以用这个插件的钩子吗?

我的jqueryui选项卡代码:

代码语言:javascript
复制
$(function() {
    $( "#tabs" ).tabs();
});

我的html结构:

导航:

代码语言:javascript
复制
<ul>
  <li><a href="#tabs-1">First</a></li>
  <li><a href="#tabs-2">Second</a></li>
  <li><a href="#tabs-3">Third</a></li>
</ul>

内容:

代码语言:javascript
复制
<div id="tabs" class="container">
  <section id="tabs-1">
    // Tabs 1 stuff goes here
  </secion>
  <section id="tabs-2">
    // Tabs 1 stuff goes here
  </secion>
  <section id="tabs-3">
    // Tabs 1 stuff goes here
  </secion>
</div>
EN

回答 1

Stack Overflow用户

发布于 2013-06-22 16:23:46

我认为您可以使用类似于这个事件的http://api.jqueryui.com/tabs/#event-beforeActivate来实现这一点。

代码语言:javascript
复制
$(function() {
    $( "#tabs" ).tabs({
        beforeActivate: function(e, ui){
            if ( ui.oldTab.attr('id') == 'tabs-1' ) {
                if (confirm('Sure you want to leave?')) { 
                    return false
                }
            }
        }
    });
});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17252795

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档