2012-11-10 88 views
1

我在頁面中使用ajax標籤。在第三個選項卡(撰寫)中有一個表單,我希望在提交表單時,然後我們轉到第一個選項卡(收件箱)。 enter image description here成功時如何在標籤頁之間切換

enter image description here

我想知道它是如何可能的?我做了什麼? 我有一個base.html文件:

{% block extrahead %} 
    <script type="text/javascript"> 
     $(document).ready(function() { 
      $('#inbox').html('{% trans "waiting ..." %}').load('inbox/'); 

      $('#inbox_list').click(function() { 

       $('#inbox').html('{% trans "waiting ..." %}').load('inbox/'); 
      }); 
      $(' 
       $('#outbox').html('{% trans "waiting ..." %}').load('outbox/'); 
      }); 
      $('#compose_list').click(function() { 

       $('#compose').html('{% trans "waiting ..." %}').load('compose/'); 
      }); 
      $('#trash_list').click(function() { 

       $('#trash').html('{% trans "waiting ..." %}').load('trash/'); 
      }); 
     }); 
    </script> 

<div id="dRtabs"> 
      <ul class="tabber"> 
       <li><a id="inbox_list" href="#inbox">{% trans "inbox" %}</a> </li> 
       <li><a id="outbox_list" href="#outbox">{% trans "sent" %}</a> </li> 
       <li><a id="compose_list" href="#compose">{% trans "compose" %}</a> </li> 
       <li><a id="trash_list" href="#trash">{% trans "trash" %}</a> </li> 
      </ul> 
      <div class="clear"></div> 
      <div id="inbox" class="tabContent"> 
       loading... 
      </div> 
      <div id="outbox" class="tabContent"> 
       loading... 
      </div> 
      <div id="compose" class="tabContent"> 
       loading... 
      </div> 
      <div id="trash" class="tabContent"> 
       loading... 
      </div> 
    </div> 

和compose.html我有這個功能:

<script type="text/javascript"> 
     $(function() { 
      alert("first"); 
      $('#compose_form').submit(function() { 
       alert("second"); 
       var temp = $("#compose_form").serialize(); 
       $.ajax({ 
        type: "POST", 
        data: temp, 
        url: 'compose/', 
        success: function(data) { 
         ??? 
        } 
       }); 
       return false; 
      }); 
     }); 
    </script> 

我不知道在成功的函數來完成。 和我有這種說法功能撰寫:

def compose(request, recipient=None): 
    if request.is_ajax(): 
     if request.method == "POST": 
      sender = request.user 
      form = ComposeForm(request.POST, recipient_filter=recipient_filter) 
      if form.is_valid(): 
       form.save(sender=request.user) 
       messages.info(request, _(u"Message successfully sent.")) 

       return ??? 
     else: 
      form = ComposeForm()    
     return render_to_response('message/compose.html', { 
      'form': form, 
      }, context_instance=RequestContext(request)) 

,所以我想知道如何和這些選項卡之間切換,我應該在vews.py.返回我真的需要你的幫助。謝謝 我使用的是django

回答

1

一個簡單的觸發器可以用於切換選項卡。

$('#inbox_list').trigger('click'); // .click() may also work. 

形式完成並提交

您可以返回假真時,您將運行這一點,你可以檢查此值,如果真把他給我的收件箱頁面,否則顯示他的錯誤消息。

+0

真的非常感謝,這正是我想要的:) – user1597122

相關問題