取出js方法传入的参数的值

2025-03-07 05:14:11
推荐回答(2个)
回答1:



然后我们通过调用此函数获取对应参数值:

以此获取url串中所带的同名参数

二、正则分析法。
function GetQueryString(name) {
var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)","i");
var r = window.location.search.substr(1).match(reg);
if (r!=null) return (r[2]); return null;
}
alert(GetQueryString("参数名1"));
alert(GetQueryString("参数名2"));
alert(GetQueryString("参数名3"));

其他参数获取介绍:
//设置或获取对象指定的文件名或路径。
alert(window.location.pathname);

//设置或获取整个 URL 为字符串。
alert(window.location.href);

//设置或获取与 URL 关联的端口号码。
alert(window.location.port);

//设置或获取 URL 的协议部分。
alert(window.location.protocol);

//设置或获取 href 属性中在井号“#”后面的分段。
alert(window.location.hash);

//设置或获取 location 或 URL 的 hostname 和 port 号码。
alert(window.location.host);

//设置或获取 href 属性中跟在问号后面的部分。
alert(window.location.search);

回答2:

传到后台去比较麻烦,理论上js是客户端语言,不可与后台通信,但是你可以使用其他方式变换的传到后台,当然比较麻烦。
我给你说说我的传递到另外页面的思路,首先确定要传过去的页面是否是这个的父页面,如果不是它的父页面,那么只能通过链接地址传递了。
如果是父页面那就简单了,给接收的父页面建立一个隐藏帧,然后该页面在执行stepContextMenu方法时候给父页面的隐藏帧赋值,document.parent.document.getElementById("***").value=stepId
或者父的父document.parent.parent.document.getElementById("***").value=stepId
等等,这样父就可拿到最新的这个id
同样你如果要传到后台,那么就需要有表单提交,可以吧这个stepId动态放到提交的表单中,然后传递到后台request接收。

当然上面也说了,单独js是无法和后台通信的