2016-01-22 73 views
2

我有以下功能,將顯示一個彈出消息,一旦用戶單擊確定,它將導航到控制器調用backendBanner用戶並調用函數delete_banner。重定向在javascript函數,coeigniter

寫在HTML和PHP的鏈接看起來是這樣的:

<a href="<?php echo base_url().'backendBanner/delete_banner/'.$banner['banner_path']; ?>"> 

代碼按鈕鑑於調用函數

<td> 
     <a onclick="return remove_image($(this));" rel="<?php echo $banner['banner_path']; ?>"><input type="button" class="btn btn-danger" value="Delete"></a> 
</td> 

代碼功能 在這個函數中,$ banner ['banner_path']等於完整路徑

<script> 
     function remove_image(img) 
     { 
      if(confirm('<?php echo lang('confirm_remove_image');?>')) 
      { 
       var fullpath = img.attr('rel'); 
       alert(fullpath); 
       redirect(base_url()."backendBanner/delete_banner/"+fullpath); 
      } 
     } 
    </script> 

我應該怎樣去通過功能把用戶帶到鏈接?

+1

你怎麼樣目前正在調用'remove_image()'函數? – CodeGodie

+1

它應該是'window.location =「<?php echo base_url()。'backendBanner/delete_banner /'。'banner ['banner_path'];?>」+ fullpath' –

+0

當您使用控制檯時客戶端代碼,它會告訴你,如果你使用未定義的函數。 – Glubus

回答

1

它應該是:

window.location="<?php echo base_url().'backendBanner/delete_banner/'.$banner['banner_path']; ?>" + fullpath 
+0

你能幫我解決另一個我面臨的問題嗎?完整路徑的值是動態的,可以採用以下格式「assets/images/banner3.jpg」和「banner4.jpg」。 我面臨的問題是,當完整路徑爲「assets/images/banner3.jpg」,並且var_dump在delete_banner控制器中的$ image_name的值時,它只返回「assets」而不是「assets/images/banner3」 .JPG」。 –

+0

嘗試'var_dump($ banner)'並檢查? –

+0

價值是通過「全路徑」 –

1

你的JS代碼中的問題是你使用的是redirect()。這是行不通的,因爲redirect()是一個PHP/Codeigniter函數,而不是JS。

改爲使用window.location

1

假設功能BASE_URL()它是由您創建了一個有效的功能...

嘗試用:

location.href = base_url() + img.attr('rel'); 

注:儘量使用像樹枝,葉片等一些模板引擎。