JavaScript学习(八)

用JavaScript脚本实现Web页面信息交互
(李晓华 2001年04月29日 01:50)

  要实现动态交互,必须掌握有关窗体对象(Form)和框架对象(Frames)更为复杂的知识。

一、窗体基础知识
  窗体对象可以使设计人员能用窗体中不同的元素与客户机用户相交互,而用不着在之前首先进行数据输入,就可以实现动态改变Web文档的行为。

1、什么是窗体对象
窗体(Form):它构成了Web页面的基本元素。通常一个Web页面有一个窗体或几个窗体,使用Forms[]数组来实现不同窗体的访问。
<form Name=Form1>
<INPUT type=text...>
<Input type=text...>
<Inpup byne=text...>
</form>
<form Name=Form2>
<INPUT type=text...>
<Input type=text...>
</form>

  在Forms[0]中共有三个基本元素,而Forms[1]中只有两个元素。
  窗体对象最主要的功能就是能够直接访问HTML文档中的窗体,它封装了相关的HTML代码:

<Form
Name ="表的名称"
Target ="指定信息的提交窗口"
action ="接收窗体程序对应的URL"
Method =信息数据传送方式(get/post)
enctype ="窗体编码方式"
[onsubmit ="JavaScript代码"]>
</Form>
 

2、窗体对象的方法
  窗体对象的方法只有一个--submit()方法,该方法主要功用就是实现窗体信息的提交。如提交Mytest窗体,则使用下列格式:
document.mytest.submit()
 
3、窗体对象的属性
  窗体对象中的属性主要包括以下:elements name action target encoding method.
  除Elements外,其它几个均反映了窗体中标识中相应属性的状态,这通常是单个窗体标识;而elements常常是多个窗体元素值的数组,例:
elements[0].Mytable.elements[1]
 
4、访问窗体对象
在JavaScript中访问窗体对象可由两种方法实现:
(1)通过访问窗体
  在窗体对象的属性中首先必须指定其窗体名,而后就可以通过下列标识访问窗体如:document.Mytable()。
(2)通过数组来访问窗体
  除了使用窗体名来访问窗体外,还可以使用窗体对象数组来访问窗体对象。但需要注意一点,因窗体对象是由浏览器环境的提供的,而浏览器环境所提供的数组下标是由0到n。所以可通过下列格式实现窗体对象的访问:
document.forms[0]
document.forms[1]
document.forms[2]...
 
5、引用窗体的先决条件
  在JavaScript中要对窗体引用的条件是:必须先在页面中用标识创建窗体,并将定义窗体部分放在引用之前。
 
二、窗体中的基本元素
窗体中的基本元素由按钮、单选按钮、复选按钮、提交按钮、重置按钮、文本框等组成。
在JavaScript中要访问这些基本元素,必须通过对应特定的窗体元素的数组下标或窗体元素名来实现。每一个元素主要是通过该元素的属性或方法来引用。其引用的基本格式见下:
formName.elements[].methadName (窗体名.元素名或数组.方法)
formName.elemaent[].propertyName(窗体名.元素名或数组.属性)
 
下面分别介绍:
 
1、Text单行单列输入元素
 功能:对Text标识中的元素实施有效的控制。
 基本属性:
Name:设定提交信息时的信息名称。对应于HTML文档中的Name。
Value:用以设定出现在窗口中对应HTML文档中Value的信息。
defaultvalue:包括Text元素的默认值
 基本方法:
blur():将当前焦点移到后台。
select():加亮文字。
 主要事件:
onFocus:当Text获得焦点时,产生该事件。
OnBlur:从元素失去焦点时,产生该事件。
Onselect:当文字被加亮显示后,产生该文件。
onchange:当Text元素值改变时,产生该文件。
例:...
<Form name="test">
<input type="text" name="test" value="this is a javascript" >
</form>
...
<script language ="Javascirpt">
document.mytest.value="that is a Javascript";
document.mytest.select();
document.mytest.blur();
</script>
 

2、textarea多行多列输入元素
 功能:实施对Textarea中的元素进行控制。
 基本属性
name:设定提交信息时的信息名称,对应HTML文档Textarea的Name。
Value:用以设定出现在窗口中对应HTML文档中Value的信息。
Default value:元素的默认值。
 方法:
blur():将输入焦点失去
select():将文字加亮后
 事件:
onBlur:当失去输入焦点后产生该事件
onFocus:当输入获得焦点后,产生该文件
Onchange:当文字值改变时,产生该事件
Onselect:当文字加亮后,产生该文件
 
3、Select选择元素
 功能:实施对滚动选择元素的控制。
 属性:
name:设定提交信息时的信息名称,对应文档select中的name。
Length:对应文档select中的length
options:组成多个选项的数组
selectIndex;该下标指明一个选项
select在中每一选项都含有以下属性:
Text:选项对应的文字
selected:指明当前选项是否被选中
Index:指明当前选项的位置
defaultselected:默认选项
 
 事件:
OnBlur:当select选项失去焦点时,产生该文件。
onFocas:当select获得焦点时,产生该文件。
Onchange:选项状态改变后,产生该事件。
 
4、Button按钮
 功能:实施对Button按钮的控制。
 属性:
Name:设定提交信息时的信息名称,对应文档中button的Name。
Value:用以设定出现在窗口中对应HTML文档中Value的信息。
 方法:
click()该方法类似于一个按下的按钮。
 事件:
onclick当单击button按钮时,产生该事件。
例 :
<Form name="test">
<input type="button" name="testcall" οnclick=tmyest()>
</form>
...
<script language="javascirpt">
document.elements[0].value="mytest"; //通过元素访问

document.testcallvalue="mytest"; // 通过名字访问
</script>
.....
 
5、checkbox检查框
 功能:实施对一个具有复选框中元素的控制。
 属性:
name:设定提交信息时的信息名称。
Value:用以设定出现在窗口中对应HTML文档中Value的信息。
Checked:该属性指明框的状态true/false.
defauitchecked:默认状态
 方法:
click()该方法使得框的某一个项被选中。
 事件:
onclick:当框的选被选中时,产生该事件。  

6、radio无线按钮
 功能:实施对一个具单选功能的无线按钮控制。
 属性:
name:设定提交信息时的信息名称,对应HTML文档中的radio的name相同
value:用以设定出现在窗口中对应HTML文档中Value的信息,对应HTML文档中的radio的name。
length:单选按钮中的按钮数目。
defalechecked:默认按钮。
checked:指明选中还是没有选中。
index:选中的按钮的位置。
 方法:
chick():选定一个按钮。
 事件:
onclick:单击按钮时,产生该事件。
 
7、hidden:隐藏

 功能:实施对一个具有不显示文字并能输入字符的区域元素的控制。
 属性:
name:设定提交信息时的信息名称,对应HTML文档的hidden中的Name。
Value:用以设定出现在窗口中对应HTML文档中Value的信息,对应HTML文档hidden中的value。
defaleitvalue:默认值
 
8、Password口令
 功能:实施对具有口令输入的元素的控制。
 属性:
Name:设定提交信息时的信息名称,对应HTML文档中password中的name。
Value:用以设定出现在窗口中对应HTML文档中Value的信息,对应HTML文档中password中的Value。
defaultvalu:默认值
 方法
select():加亮输入口令域。
blur():使这丢失passward输入焦点。
focus():获得password输入焦点。
 
9、submit提交元素
 功能:实施对一个具有提交功能按钮的控制。
 属性:
name:设定提交信息时的信息名称,对应HTML文档中submit。
Value:用以设定出现在窗口中对应HTML文档中Value的信息,对应HTML文档中value。
 方法
click()相当于按下submit按钮。
 事件:
onclick()当按下该按钮时,产生该事件。
 
三、范例
下面我们演示通过点击一个按钮(red)来改变窗口颜色,点击“调用动态按钮文档”调用一个动态按钮文档。
test8_1.htm
<html>
<head>
<Script Language="JavaScript">
//原来的颜色
document.bgColor="blue";
document.vlinkColor="white";
document.linkColor="yellow";
document.alinkcolor="red";
//动态改变颜色
function changecolor(){
document.bgColor="red";
document.vlinkColor="blue";
document.linkColor="green";
document.alinkcolor="blue";
}
</script>
</HEAD>
<body bgColor="White" >
<A href="test8_2.htm"> 调用动态按钮文档</a>
<form >
<Input type="button" Value="red" onClick="changecolor()">
</form>
</BODY>
</HTML>
输出结果见图1所示。


图1

动态按钮程序。
test8_2.htm

<HTML>
<HEAD>
</HEAD>
<p align="center"> </p>
<div align="center"><center>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="100%"><form name="form2" onSubmit="null">
<p><input type="submit" name="banner" VALUE="Submit"
onClick="alert('You have to put an /'action=[url]/' on the form
tag!!')"> <br>
<script language="JavaScript">
var id,pause=0,position=0;
function banner() {
// variables declaration
var i,k,msg=" 这里输入你要的内容";// increase msg
k=(30/msg.length)+1;
for(i=0;i<=k;i++) msg+=" "+msg;
// show it to the window
document.form2.banner.value=msg.substring(position,position-30);
// set new position
if(position++==msg.length) position=0;
// repeat at entered speed
id=setTimeout("banner()",60); }
// end -->
banner();
</script></p>
</form>
</td>
</tr>
</table>
</center></div>
<p> </p>
<BODY>
<A href="test8_1.htm"> 返回</a>
</BODY>
</HTML>
输出结果见图2所示。

图2  
  本讲介绍了使用JavaScript脚本实现Web页面信息交互的方法。其中主要介绍了窗体中的基本元素的主要功能和使用。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: JavaScript 函数是一组语句的集合,它可以被命名并可以被执行多次。函数可以接受参数并返回结果。函数可以在脚本中的任何地方定义,但通常在脚本的开头定义,然后在脚本的其他地方调用。 语法: ``` function functionName(parameters) { // code to be executed } ``` 示例: ``` function sayHello(name) { console.log("Hello, " + name); } sayHello("John"); // Output: "Hello, John" ``` JavaScript 中还有一种类型为 "箭头函数"(Arrow function),其语法与传统函数略有不同。 示例: ``` let sayHello = (name) => { console.log("Hello, " + name); } sayHello("John"); // Output: "Hello, John" ``` ### 回答2: JavaScript函数,可以看做是一种带有特定功能的代码片段。它可以接受参数,以及返回值。函数是JavaScript的重要组成部分之一,它被用于简化代码,实现模块化,以及使代码更易于维护和调试。 函数的定义:使用关键字“function”和函数名来定义函数。函数名是可选的。参数的定义在圆括号内,多个参数使用逗号隔开。函数语句以花括号“{}”来包含。一个函数可以有多个语句。返回值通过“return”语句来实现。 函数的调用:可以通过函数名加上参数列表的形式来调用函数。注意要使用函数名后的小括号“()”,以及实际参数列表。 函数的参数:JavaScript每个函数都可以有零个或多个参数。每个参数由参数名和类型组成。参数的类型是不需要显式声明的。在函数内部可以使用参数名来访问参数的值。如果函数需要返回多个值,可以使用对象或数组。 函数的返回值:函数的返回值可以是任意类型的值。返回值可以直接指定值,或者通过表达式计算得出。如果在函数中没有使用“return”语句,则函数默认返回“undefined”。如果没有显式的返回值,则函数执行到最后一行代码后结束。 函数作为一个值:JavaScript中的函数可以作为一个值被传递给其他函数。函数作为值的特别之处在于,函数可以被存储为变量或对象的属性,或者被其他函数返回。这使得函数可以方便的用于实现回调函数和模块化编程。 闭包:JavaScript中函数的一个特别之处是,函数内部可以定义其他函数。定义在函数内部的函数可以访问外部函数的所有变量和参数,这就是闭包。闭包使得函数可以“记住”调用它时的上下文环境,这使得函数可以在不同的场合下具有不同的行为。 函数的实际应用非常广泛,无论是前端还是后端开发都离不开它。因此,学会灵活、熟练的掌握JavaScript函数,对于从事Web开发的初学者或者有一定开发基础的程序员来说都非常重要。 ### 回答3: JavaScript 函数是一种可重复使用的代码块,由定义、参数列表和函数体组成,可以对于函数内部逻辑的实现进行封装,从而实现代码的可维护性、可读性和可扩展性。函数是 JavaScript 的核心机制之一,系统中有很多内置函数和用户自定义函数。 函数的定义: 函数可以通过函数关键字 function 来定义,格式为: ``` function 函数名(参数1, 参数2...) { // 函数体 } ``` 其中,参数可以是任意类型,也可以不定义参数。函数体中可以包括任意合法的 JavaScript 代码,包括变量声明、表达式、语句等。函数名可以是任意合法的标识符,命名规则与变量命名规则相同。 函数的调用: 函数调用时,需要在函数名后面加上一对圆括号,括号中可以包含函数参数的值或表达式。例如: ``` function foo(a, b) { return a + b; } foo(2, 3); // 5 ``` 函数的参数传递: JavaScript 函数中的参数传递可以通过值传递和引用传递两种方式。 值传递是指函数调用时,实参的值会被复制到函数的形参中,在函数内部对形参的修改不会影响到实参的值。例如: ``` function swap(x, y) { let temp = x; x = y; y = temp; } let a = 1, b = 2; swap(a, b); console.log(a, b); // 1, 2 ``` 引用传递是指函数调用时,实参是一个对象或数组,函数内部对形参的修改会影响到实参的值。例如: ``` function change(obj) { obj.name = 'Tom'; obj.age = 18; } let person = { name: 'Jerry', age: 20 }; change(person); console.log(person); // {name: 'Tom', age: 18} ``` 函数的返回值: 函数可以通过 return 语句返回一个值,如果没有 return 语句,将返回 undefined。例如: ``` function sum(a, b) { return a + b; } let s = sum(1, 2); console.log(s); // 3 ``` 函数还可以返回一个函数,形成函数嵌套,实现程序逻辑的分离和复用。例如: ``` function makeAdder(a) { return function(b) { return a + b; }; } let add5 = makeAdder(5); console.log(add5(2)); // 7 console.log(add5(3)); // 8 ``` JavaScript 函数的特点包括可重复使用、可维护性高、参数传递灵活等,可以帮助我们实现复杂的程序设计。在学习和使用 JavaScript 函数的过程中,需要注意函数的命名规范、参数传递的方式、返回值类型的确定等问题,同时也需要注意函数的作用域、闭包、高阶函数等更深入的话题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值