使用Javascript代替CGI你可能对CGI脚本比较熟悉,利用CGI你可以通过表单将数字或者变量从一个网页上传递到另外一个网页。当然,你可以利用“POST”将变量以独立的线程进行传递而不显示在浏览器中,或者利用“GET”将变量编码到URL。JavaScript不能在变量在服务器端被处理的时候利用POST方法;但是你可以注意到当你提交一个使用GET方法的表单的时候,定位条上在文件名之后包含了额外的信息,比如:www.pconline.com.cn/mypage.html?name=Mike&age=33利用JavaScript我们可以访问这些变量,具体可以使用一个相关的数组合来实现,如下所示:<SCRIPT language="JavaScript1.1"><!-- Hide from older browsers
function formInput() {// empty object}
var valueOf = new formInput();
var pairs = document.location.search.substring(1).split("&");for (var i=0; i < pairs.length; i++) {var values = pairs[i].split("=");valueOf[values[0]] = unescape(values[1]);}
// Stop hiding --></SCRIPT>以上代码的作用是从浏览器的定位条上将变量提取出来并将它们存储在一个相关的数组合中。在网页的其它部分任何的变量都可以这样被引用,如:valueOf["variablename"],当然这些引用要在SCRIPT标签中。作为一个测试,我们可以利用for .. in loop循环语句列出所有的被传递的变量。这允许我们循环掉出所有相关数组的内容而不管我们是不是直到这些变量的名字。具体代码如下:<SCRIPT language="JavaScript"><!-- Hide from older browsers
for (var x in valueOf) {document.write(x + " = " + valueOf[x] + "<br>");}
// Stop hiding --></SCRIPT>这时候就会输入以下的内容:name=Mikeage=33这个例子虽然没什么用,但是它只是为了向你显示程序是如何工作的。这些变量现在就可以用在填充表单元素的内容,或者显示图片或者创建其它的网页内容,总之可以实现CGI能实现的内容。
function formInput() {// empty object}
var valueOf = new formInput();
var pairs = document.location.search.substring(1).split("&");for (var i=0; i < pairs.length; i++) {var values = pairs[i].split("=");valueOf[values[0]] = unescape(values[1]);}
// Stop hiding --></SCRIPT>以上代码的作用是从浏览器的定位条上将变量提取出来并将它们存储在一个相关的数组合中。在网页的其它部分任何的变量都可以这样被引用,如:valueOf["variablename"],当然这些引用要在SCRIPT标签中。作为一个测试,我们可以利用for .. in loop循环语句列出所有的被传递的变量。这允许我们循环掉出所有相关数组的内容而不管我们是不是直到这些变量的名字。具体代码如下:<SCRIPT language="JavaScript"><!-- Hide from older browsers
for (var x in valueOf) {document.write(x + " = " + valueOf[x] + "<br>");}
// Stop hiding --></SCRIPT>这时候就会输入以下的内容:name=Mikeage=33这个例子虽然没什么用,但是它只是为了向你显示程序是如何工作的。这些变量现在就可以用在填充表单元素的内容,或者显示图片或者创建其它的网页内容,总之可以实现CGI能实现的内容。
解决方案 »
- coolite(extnet)在gridpanel里面的cloumn中,很难选择下拉框.。。。。
- 请教一个jquery.validate的问题
- arguments对象
- 写不出来呀!!
- js 可以动态创建类吗?
- 请问xslt里apply-templates到底是什么作用
- 请问var ww=window.open("dd.html");我想用ww判断dd.html加载是否成功,请问有没有方法了?请高手指教
- 如何能在不按动键盘的情况下,自动检测出所以键的值!并显示出来!
- javascript问题 计算列宽
- 再问个菜鸟问题,showmodaldialog的title怎样控制
- 如何判断一个数组变量是否存在啊?为什么每个版本的IE浏览器都不一样!!!!!!
- (高手必进)页面框架,右边页面是搜索条件输入,左边是搜索结果。怎么做???
/*
*--------------- Request.htm -----------------
* Request[key]
* 功能:实现ASP的取得URL字符串,Request("AAA")
* 参数:key,字符串.
* 实例:alert(Request["AAA"])
* author:wanghr100(灰豆宝宝.net)
* update:2004-6-11 10:30
*--------------- Request.htm -----------------
*/
var url=location.search;
var Request = new Object();
if(url.indexOf("?")!=-1)
{
var str = url.substr(1) //去掉?号
strs = str.split("&");
for(var i=0;i<strs.length;i++)
{
Request[strs[i].split("=")[0]]=unescape(strs[i].split("=")[1]);
}
}
alert(Request["AAA"])
</script>
详细:
之URL篇
静态页面的值传递(三部曲). wanghr100 [原作]
http://dev.csdn.net/develop/article/29/29975.shtm
{
var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)");
var r = window.location.search.substr(1).match(reg);
if (r!=null) return unescape(r[2]); return null;
}