标题的前半部分其实不必赘述,按钮也可以换成超链接。。

假设是需要在A页面上的一个按钮,点击后跳转到B页面,传一些参数后且并B页面的某个js函数可以执行~~

关键在于如何跳转到目标页面之后并「接着」执行「目标页面的js函数」。原因是目标页面的某个js函数原来是需要点击该页面的按钮或超链接才能触发的,但现在需要在跳转到B页面后立即执行!

先不想是从A页面跳转到B页面,假设你想在B页面一打开就执行的话,是需要把代码逻辑写在$(function(){});里面的。这就是一个突破的思路。

我们在A页面定义一个按钮用于触发如题所示的操作:

  1. <button type="button" class="btn btn-info" onclick="openReport()">打开报表</button>

它对应的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(){});里面加上这一段代码(关键),如:

  1. var url = window.location.href;//获取当前浏览器的url
  2. index = url.indexOf("flag");//判断当前url是否有flag,如果有,说明是从A页面跳转而来的,就执行下面的程序
  3. if(index !=-1) {//由A页面跳转而来
  4. //参数准备
  5. var start = url.indexOf("A");
  6. var a = url.substring(start + "A".length+1);
  7. var date = new Date();
  8. var year = date.getFullYear();//当前年
  9. var month = date.getMonth() + 1;//当前月(月是从0开始,所以必须加上1)
  10. month = month<10 ? ("0"+month):month;
  11. var queryDate = year + month;
  12. // + "&suffix=" + encodeURI(encodeURI(suffix));
  13. var url= "ajax的url?A=" + a +"&queryDate=" + queryDate;
  14. //带参数执行逻辑
  15. $.ajax({
  16. url: url, dataType:"html",headers:{"X-Fragment":"_"},
  17. cache:false,
  18. success: function(html) {
  19. //响应成功后的逻辑处理
  20. }
  21. });
  22. }

这段代码是很典型的,对于A页面传递过来的参数的接收在代码的注释中都说明得十分详细。

顺便,还温习了js获取系统年和月的用法。

这里对于flag变量的妙用是一种巧思~~~

来自:http://raising.iteye.com/blog/2283257 iteye 中的尽力而为

javascript笔记——点击按钮(或超链接)如何跳转到另外一个页面并执行目标页面的js函数的更多相关文章

  1. JavaScript实现点击按钮弹出输入框,点确定后添加li组件到ul组件里

    JavaScript实现点击按钮弹出输入框,点确定后添加li组件到ul组件里 <!doctype html> <html manifest="lab4.manifest&q ...

  2. 作用域通信对象:session用户在登录时通过`void setAttribute(String name,Object value)`方法设置用户名和密码。点击登录按钮后,跳转到另外一个页面显示用户

    作用域通信对象:session session对象基于会话,不同用户拥有不同的会话.同一个用户共享session对象的所有属性.作用域开始客户连接到应用程序的某个页面,结束与服务器断开连接.sessi ...

  3. 如何绑定android点击事件--跳转到另一个页面并实现关闭功能?

    一.点击按钮跳转到另一个页面. eg:实现从一个页面点击跳转到另一个页面 1.首先在一个布局文件(.XML)中绘画了一个跳转按钮(id为btn1): <Button         androi ...

  4. 五、JavaScript之点击按钮调用相关JavaScript函数

    一.代码如下 二.执行之后 三.点击按钮之后,内容被改变

  5. javaScript实现点击按钮直接打印

    很多网站都有此功能,当浏览到底部时都会有一个打印按钮,点击打印按钮就可以完成打印功能,功能非常不错,人性化,代码非常的简单. 一.只要调用window.print()函数就可以实现打印当前页面 < ...

  6. 二、JavaScript之点击按钮改变HTML样式 (CSS)

    一.代码如下 二.点击前 三.点击后 <!DOCTYPE html> <html> <meta http-equiv="Content-Type" c ...

  7. 【代码笔记】iOS-点击搜索跳转到另外一个页面

    一,效果图. 二,工程图. 三,代码. RootViewController.h #import <UIKit/UIKit.h> @interface RootViewController ...

  8. hexo的next主题博客中加入分类页面的js,实现多级目录,并且能够点击展开,隐藏下级目录~(不知道算不算深度优化~~~)

    个人博客:https://mmmmmm.me 源码:https://github.com/dataiyangu/dataiyangu.github.io 多级标题 在自己的xxxx.md文件中做如下修 ...

  9. jsp中点击一个图片跳转到另一个页面的方法

    1.这是jsp页面中的关于图片的那段代码 <img src="images/tj1.png " id="tj1"></img> 2.跳转 ...

随机推荐

  1. Codeforces Round #329 (Div. 2) B. Anton and Lines 逆序对

    B. Anton and Lines Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/593/pr ...

  2. WPF自己定义命令Command

    一.自己定义命令 自己定义命令必需要实现ICommand接口.例如以下代码所看到的: /// <summary> /// 自己定义的清除命令. 光脚丫思考 2014-7-31 06:51: ...

  3. [Ramada] Build a Functional Pipeline with Ramda.js

    We'll learn how to take advantage of Ramda's automatic function currying and data-last argument orde ...

  4. [AngularJS] New in Angular 1.3 - bindToController

    If you want to use controllers, instead of a link function, you can use bindToController. <!DOCTY ...

  5. Unity3D脚本--经常使用代码集

    1. 訪问其他物体 1) 使用Find()和FindWithTag()命令 Find和FindWithTag是很耗费时间的命令,要避免在Update()中和每一帧都被调用的函数中使用.在Start() ...

  6. ios--uitextfield动态限制输入的字数(解决方式)

    1.定义一个事件: -(IBAction)limitLength:(UITextField *)sender { bool isChinese;//推断当前输入法是否是中文 if ([[[UIText ...

  7. ABAP OO的八大理由

    原贴地址:http://scnblogs.techweb.com.cn/abaplv/archives/127.html 几年前SAP BASIS 4.6为ABAP扩展了OO功能,这是很多传统的ABA ...

  8. C加密解密

    /********************************************************* * des.h * 用户使用des算法头文件 * **************** ...

  9. (转载)MatLab绘图

    转载自:http://www.cnblogs.com/hxsyl/archive/2012/10/10/2718380.html 转载自:http://www.cnblogs.com/jeromebl ...

  10. ServiceStack.Redis客户端访问库几项事项

    1)RedisClient的SetValue(string key, byte[]val)方法,如果val的长度为0,则redis服务器库中设置该key值失败. 2)PoolRedisClientMa ...