• 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 中的尽力而为

  • 相关阅读:
    AutomationQA.com开始连载 TIB工作室核心成员 刘毅 的《软件测试自动化的探索与管理》专栏文章
    自动化测试项目实战训练【广州 5月、6月】
    大话“自动化测试框架思想与构建”
    ST&QA 2011年12期的杂志 已上传到AutomationQA资源共享
    整体思考自动化测试发展和价值回报
    热烈祝贺AutomationQA成为QA联盟核心会员!
    TestPartner中使用Module和Shared Module设计模块化结构的脚本
    [转] 自动化测试案例设计及读后感
    北京自动化测试实战训练课程下周开始
    后Web2.0的创新模式
  • 原文地址:https://www.cnblogs.com/MonaSong/p/5284021.html
Copyright © 2020-2023  润新知