frame与frame之间如何用JavaScript传值

2008.10.06 / 标签: ,,, / 分类: ExtJS

这个依然是为我的项目而服务的,因为项目的功能需要此技术来实现,或许对很多人来说这个不难,可是对我这个不太对JavaScript感冒的人来说就不是那么容易了,办法只有一个:找资料现学呗。

先来了解一下相关知识:要实现框架中多窗体的不同元素的访问,则必须使用window对象中的Frames属性。Frames属性同样也是一个数组,它在父框架集中为每一个子框架设有一项。通过下标实现不同框架的访问:
parent.frames[Index1].docuement.forms[index2]
通过parent.frames.length确定窗口中窗体的数目。除了使用数组下标来访问窗体外还可以使用框架名和窗体名来实现各元素的访:
parent.framesName.document.getElementById()
OK,这么点资料就够用了,我们来小试一把。首先创建一个theFather.html,其代码如下:

 
  1. <html>
  2. <head>
  3. <title>frame get Value test</title>
  4. </head>
  5. <iframe frameborder="1" height="78" marginheight="0" marginwidth="0" scrolling="no" width="100%" src="theSon.html"></iframe>
  6. <h3>这是theFather的文本框</h3>
  7. <input type="text" name="txtFather" id="txtFather" />
  8. </html>

 

接下来创建theSon.html,其代码如下:

 
  1. <html>
  2. <head>
  3. <title>the son frame</title>
  4. <script type="text/javascript">
  5. //此方法用于向其父文本框类赋值
  6. function setValue(){
  7.   
  8.   //获得子类文本框中的值
  9.   var sonValue=document.getElementById("txtSon").value;
  10.   //弹出信息,此处仅用于测试
  11.   alert("theSon的值为:"+sonValue);
  12.   //向父类文本框赋值
  13.   parent.document.getElementById("txtFather").value=sonValue;
  14. }
  15. </script>
  16. </head>
  17. <body>
  18. <h3>这是theSon的文本框及按钮</h3>
  19. <input type="text" name="txtSon" id="txtSon" />
  20. <input type="button" name="btnSon" id="btnSon" value="提交" onclick="setValue();" />
  21. </body<
    span class="tag">>
  22. </html>

 

接下来运行测试,达到了预期的效果,现在可以正式融入项目中了。

 

在HTML中植入JavaScript

2008.05.08 / 标签: , / 分类: ExtJS
Sofa

您可以简单地象下面的语句一样植入一个 JavaScript 脚本:

<SCRIPT>
  JavaScript 语句…
</SCRIPT>

指定语言及版本
  因为在不同的浏览器版本中支持不同版本的 JavaScript,以及还有一些其它的脚本语言如:JScript、VBScript 等等,因此我们有必要在 <SCRIPT> 标记中使用 LANGUAGE 属性来指定您所用的脚本语言及其版本,这样当用户浏览器不支持该脚本语言时,<SCRIPT> </SCRIPT>标记中的代码将会被忽略,如下:

<SCRIPT LANGUAGE="JavaScript1.2">

下表为 JavaScript 和 Navigator 版本的关系

Navigator 版本  缺省的 JavaScript 版本  支持的 <SCRIPT> 标记 
Navigator 2.0之前  不支持 JavaScript  无 
Navigator 2.0  JavaScript 1.0  <SCRIPT LANGUAGE="JavaScript"> 
Navigator 3.0  JavaScript 1.1  <SCRIPT LANGUAGE="JavaScript1.1"> 及之前 
Navigator 4.0-4.05  JavaScript 1.2  <SCRIPT LANGUAGE="JavaScript1.2"> 及之前 
Navigator 4.06-4.5  JavaScript 1.3  <SCRIPT LANGUAGE="JavaScript1.3"> 及之前 

我们还可以用 HTML 的注释标记将 JavaScript 代码隐藏起来,而一个浏览器将会忽略它不认识的标记,这样 <SCRIPT> 和 </SCRIPT> 标记都会被忽略,虽然那些不支持 <SCRIPT> 标记可能已经绝迹,您不必非得这样做,但这也是一个尊重用户的好习惯。

指定 JavaScript 代码文件
  当然,我们也可以指定一个 JavaScript 源文件来代替在 HTML 文件中引用,这样您就可以在不同的 HTML 文件中引用相同的 JavaScript 源程序,如:

<SCRIPT SRC="common.js"></SCRIPT>

一个外部的 JavaScript 文件不能包含任何 HTML 标记,它的内容只能是 JavaScript 代码。

在HTML属性值中使用 JavaScript 表达式
  使用 JavaScript 实体(entities),您可以指定一个 JavaScript 表达式作为一个 HTML 属性的值,实体值是动态赋予的,这就是说,您可以创建更灵活的 HTML 结构,因为 HTML 元素的属性依赖于页内先前放置元素信息。您可能对 HTML 的字符实体有所了解—它用(&)符后接一个名称并以分号(;)结束。如一个版权符号的字符实体为—&copy; 等等。类似的,JavaScript 实体也用(&)开始,以分号(;)结束,不同的是它以一个用大括号({ })封装的 JavaScript 表达式来代替其名称和数字。如,假设您定义了一个变量 barWidth,那么您可以将其用于水平标尺的宽度百分比属性中:

<HR WIDTH="&{barWidth};%" ALIGN="LEFT>

引号标记
  当您在一个字符串直接量中需要一个引号字符时,那么用单引号(’)来将其与字符串直接量区分开来。如下例中的函数 bar 包含一个在双引号属性值中的字符串“left”:

function bar(widthPct) {
  document.write(" <HR ALIGN=’left’,WIDTH=" + widthPct + "%>")
}

又如:<INPUT TYPE="button" VALUE="Press Me" onClick="myfunc(‘astring’)">

无觅相关文章插件,快速提升流量