javascript筆記——點擊按鈕(或超鏈接)如何跳轉到另外一個頁面並執行目標頁面的js函數


標題的前半部分其實不必贅述,按鈕也可以換成超鏈接。。

 

假設是需要在A頁面上的一個按鈕,點擊后跳轉到B頁面,傳一些參數后且並B頁面的某個js函數可以執行~~

 

關鍵在於如何跳轉到目標頁面之后並「接着」執行「目標頁面的js函數」。原因是目標頁面的某個js函數原來是需要點擊該頁面的按鈕或超鏈接才能觸發的,但現在需要在跳轉到B頁面后立即執行!

 

先不想是從A頁面跳轉到B頁面,假設你想在B頁面一打開就執行的話,是需要把代碼邏輯寫在$(function(){});里面的。這就是一個突破的思路。

 

我們在A頁面定義一個按鈕用於觸發如題所示的操作:

 

Html代碼   收藏代碼
  1. <button type="button" class="btn btn-info" onclick="openReport()">打開報表</button>  

 它對應的js函數為:

 

Js代碼   收藏代碼
  1. function openReport() {  
  2.      window.open("B頁面的url?flag=true&A="+a,'newwindow','height=1100,width=1400');  
  3.  }  

 同時傳遞了2個參數給目標頁面B頁面:flag和A。

 

在B頁面的js文件的$(fucntion(){});里面加上這一段代碼(關鍵),如:

 

Js代碼   收藏代碼
  1. var url = window.location.href;//獲取當前瀏覽器的url  
  2.     index = url.indexOf("flag");//判斷當前url是否有flag,如果有,說明是從A頁面跳轉而來的,就執行下面的程序  
  3.       
  4.     if(index !=-1) {//由A頁面跳轉而來  
  5.         //參數准備  
  6.         var start = url.indexOf("A");  
  7.         var a = url.substring(start + "A".length+1);  
  8.         var date = new Date();  
  9.         var year = date.getFullYear();//當前年  
  10.         var month = date.getMonth() + 1;//當前月(月是從0開始,所以必須加上1)  
  11.         month = month<10 ? ("0"+month):month;  
  12.         var queryDate = year + month;  
  13.       
  14.         // + "&suffix=" + encodeURI(encodeURI(suffix));  
  15.         var url= "ajax的url?A=" + a +"&queryDate=" + queryDate;  
  16.             //帶參數執行邏輯  
  17.         $.ajax({   
  18.          url: url, dataType:"html",headers:{"X-Fragment":"_"},  
  19.          cache:false,  
  20.          success: function(html) {   
  21.             //響應成功后的邏輯處理  
  22.          }  
  23.         });   
  24.     }  

 這段代碼是很典型的,對於A頁面傳遞過來的參數的接收在代碼的注釋中都說明得十分詳細。

順便,還溫習了js獲取系統年和月的用法。

這里對於flag變量的妙用是一種巧思~~~

來自:http://raising.iteye.com/blog/2283257 iteye 中的盡力而為


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM