2017-01-27 2 views
0

Ich habe, in denen ich Code unten eine Taste gesetzt haben:Bevor offenen Bootstrap modal Umleitung auf eine andere Seite

<a href="#thread_add_modal" class="btn btn-primary" id="thread_add_id" data-toggle="modal">New Thread</a> 

Jede Person ist in der Lage Thread zu erstellen, sobald sie in.Without angemeldet angemeldet i Benutzer ermöglichen, kippe Erstelle einen Thread.

Javascript:

$("#thread_add_id").click(function(){ 
     var login = "<?php echo $this->session->userdata('login')?>"; 
     if(login == false){ 
      window.location.href = "<?php echo base_url()?>login/"; 
     } 


    }); 

Problem:

Wenn ich versuche, ohne Login dieser Zeit seine erste offene Popup auf New Thread zu klicken und dann umleiten Seite einzuloggen.
Ich möchte dieses Popup vor dem Einloggen nicht zeigen.

Zu diesem Zweck habe ich wie oben getan.Aber es funktioniert nicht richtig für mich. also keine Idee, keine Vorschläge.

Antwort

0

allererst entfernen data-toggle="modal" von Anker-Tag und fügen Klasse clsmodal werden wir modal auf Klick auf jquery Ereignis öffnen siehe unten Snippet ich gerade var login = true; passieren haben diese Geige Arbeit, damit Sie Ihren PHP-Code setzen nur da, wenn Login wahr ist Modal Pop-up wird zeigen, sonst wird es

jQuery(document).ready(function(e) { 
 
    $(".clsmodal").on("click", function() { 
 
     var login = true; 
 
     if (login == false) { 
 
     window.location.href = "<?php echo base_url()?>login/"; 
 
     } else { 
 
     $('#myModal').modal('show'); 
 
     } 
 
\t }); 
 
});
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css" rel="stylesheet"/> 
 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js"></script> 
 

 
<!-- Button trigger modal --> 
 
<button type="button" id="mymodal" class="btn btn-primary btn-lg clsmodal"> 
 
    Launch demo modal 
 
</button> 
 

 
<!-- Modal --> 
 
<div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel"> 
 
    <div class="modal-dialog" role="document"> 
 
    <div class="modal-content"> 
 
     <div class="modal-header"> 
 
     <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button> 
 
     <h4 class="modal-title" id="myModalLabel">Modal title</h4> 
 
     </div> 
 
     <div class="modal-body"> 
 
     ... 
 
     </div> 
 
     <div class="modal-footer"> 
 
     <button type="button" class="btn btn-default" data-dismiss="modal">Close</button> 
 
     <button type="button" class="btn btn-primary">Save changes</button> 
 
     </div> 
 
    </div> 
 
    </div> 
 
</div>

+0

Danke für Ihre Antwort zu zeigen. Ich habe das selbe gemacht, bevor ich eine Antwort bekommen habe. Aber irgendwie scheint deine Antwort gut zu sein, also akzeptiere ich sie. –

+0

@AnkitDoshi ohh das ist cool, du bist immer willkommen – Curiousdev

0

1) entfernen Bootstrap-Attribute aus Ihrer Taste umgeleitet

Ermitteln, ob der Benutzer angemeldet ist, als Umleitung. beziehen sich sonst Ihre modal $('#thread_add_modal').modal('show');

$("#thread_add_id").click(function(){ 
    var login = "<?php echo $this->session->userdata('login')?>"; 
    if(login == false){ 
     window.location.href = "<?php echo base_url()?>login/"; 
    } 
    else{ 
     $('#thread_add_modal').modal('show'); 
    } 

}); 
Verwandte Themen