2010-07-01 78 views
0

我有一個形式,在一個名爲function Login()控制器提交功能我認爲網頁被稱爲 這是我的登錄功能如何從我的控制器調用JavaScript函數?

function Login() 
{ 
    $EmailId = $this->input->post('mailId'); 
    $Password = $this->input->post('password'); 
    $res=$this->friendsmodel->CheckLogin($EmailId,$Password); 
    if($res==true) 
    { 

     $_SESSION['Authenticaton_user']="auth_user"; 
     $this->session->set_flashdata('item', 'Thanks for logging in'); 
         //I want to call javascript function from here 
     redirect('friends/Display_News'); 
    } 
    else 
    { 
     $this->session->set_flashdata('item', 'Username Or Password is invalid'); 
     redirect('friends'); 
    } 

} 

現在想打電話從我如果和else語句 名爲topBar()的JavaScript函數這是我的腳本

function topbar(message) 
{ 
     var alert = $('<div id="alert">'+message+'</div>'); 
     $(document.body).append(alert); 
     var $alert = $('#alert'); 
     if ($alert.length) { 
      var alerttimer = window.setTimeout(function() { 
       $alert.trigger('click'); 
      }, 5000); 
      $alert.animate({ height: $alert.css('line-height') || '50px' }, 200).click(function() { 
       window.clearTimeout(alerttimer); 
       $alert.animate({ height: '0' }, 200); 
      }); 
     } 
} 

如何調用JavaScript從這裏

+0

你不能做到這一點。瀏覽器正在發送一個請求,然後它正在處理併發送回去,但是在你的js被髮回之前你有一個重定向功能。 實現此目的的唯一方法是通過AJAX調用登錄,然後在它提醒用戶後使用JS重定向。 – User123342234 2010-07-01 06:35:52

+0

[How to call a JavaScript function from PHP?](http://stackoverflow.com/questions/1045845/how-to-call-a-javascript-function-from-php) – outis 2012-06-24 01:26:41

回答

3

不能調用JavaScript函數f ROM中的PHP控制器,但是你可以設置一些變量作爲標誌視圖調用的函數:

function Login() 
{ 
    // I don't know how you interact with your views, so I will just 
    // assume that it happens something like this: 
    if($res==true) 
    { 
     // call the function 
     $this->view->assign('callTopBar', true); 
    } 
    else 
    { 
     // do not call the function 
     $this->view->assign('callTopBar', false); 
    } 
} 

,然後在視圖中:

<?php if ($this->callTopBar): ?> 
    <script type="text/javascript"> 
     topbar(); 
    </script> 
<?php endif; ?> 
+0

$ this-> view - > assign('callTopBar',true); 這裏callTopBar表示的是我們查看的頁面 – udaya 2010-07-01 06:52:36

+0

不,它應該是您設置的標誌的名稱。它可以是任何東西,比如'shouldMyViewCallThisDamnFunctionOrNot'。 – 2010-07-01 08:27:28

相關問題