当前位置: 首页 > 图文教程 > 网络编程 > Javascript > javascript不同页面传值的改进版

Javascript
在一个form用一个SUBMIT(或button)分别提交到两个处理表单页面的代码
用Javascript读取中文COOKIE的解决办法
功能很全的精品JS计算器
永不消失的title提示代码
一直复略了的一个问题,关于表单重复提交
初探jquery——表单应用范例
懒就要懒到底——鼠标自动点击(含时间判断)
关于表单的两点交互体验改进技巧
javascript知识点收藏
用Javascript做flash做的事..才完成的一个类.Auntion Action var 0.1
如何使页面打开时input就被选中?
点选TOP后并不是直接跳到页顶的,而是滚动上去的
js玩一玩WSH吧
【最新漏洞】IE中使用Rds.DataSpace下载并运行病毒文件
select选择事件问题
SUN的《AJAX与J2EE》全文译了
你真的了解JavaScript吗?
极酷的javascirpt,让你随意编辑任何网页
用javascript编写的第一人称射击游戏
轻轻松松学习JavaScript

Javascript 中的 javascript不同页面传值的改进版


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-12   浏览: 333 ::
收藏到网摘: n/a

改进点:支持同页面有多个文本框,可自动向不同的文本框传值。先看演示吧 其实原理也很简单。同样先通过getAttribute判断type属性,捕捉到按钮。然后在按钮onclick时把i通过url传入子页面。
复制代码 代码如下:

<h2>input1</h2>
<input type="text" /><input type="submit" />
<h2>input2</h2>
<input type="text" /><input type="submit" />
<script type="text/javascript"><!--
var aInput = document.getElementsByTagName("input");
for (i = 0 ; i < aInput.length ; i++ )
{
(
function (i){
if (aInput[i].getAttribute("type") == "submit")
{
aInput[i].onclick = function (){
window.open('b.html?'+i,'newwindow','height=100,width=400')
}
}
}
)(i)
}
// --></script>

子页面用slice方法对url进行切分。并使用window.opener方法捕捉到父页面的文本框,进行赋值。 一切就OK了
复制代码 代码如下:

<h2>openWindow</h2>
<input type="text" /><input type="submit" />
<script type="text/javascript"><!--
var aInput = document.getElementsByTagName("input");
for (i = 0 ; i < aInput.length ; i++ )
{
if (aInput[i].getAttribute("type") == "text") var textboxB = new Object(aInput[i]);
if (aInput[i].getAttribute("type") == "submit") var btnB = new Object(aInput[i]);
}
btnB.onclick = function(){
var sTextValue = textboxB.value
var aInput = window.opener.document.getElementsByTagName("input");
var sUrl = document.location;
var sNo = sUrl.toString().slice(-1)
window.opener.aInput[sNo-"1"].value = sTextValue
window.close();
}
// --></script>

还没明白的朋友看一下原理图就知道了