java中form用法_使用JavaScript操作表单

获取表单的引用

在开始对表单进行编程前,必须先获取表单

的引用.有以下方法可以来完成这一操作。

1)采用典型的DOM树中的定位元素的方法getElementById(),只要传入表单的id即可获得表单的引用:

var vform=document.getElementById(“form1”);

2)还可以用document的forms集合,并通过表单在form集合中的位置或者表单的name特性来进行引用:

var oform=document.forms[0];

var oform=document.forms[“formZ”];

访问表单字段

每个表单字段,不论它是按钮,文本框还是其它内容,均包含在表单的elements集合中.可以用它们的name特性或者它们在集合中的位置来访问不同的字段:

Var oFirstField=oForm.elements[0];

Var oTextBox1=oForm.elements[“textBox1”];

此外还可以通过名字来直接访问字段,如:

Var oTextBox1=oForm.textbox1;

如果名字中有标记,则可以使用方括号标记:

Var oTextBox1=oForm[“text box 1”];

最常见的访问表单字段的方法

最简单常用的访问表单元素的方法自然是document.getElementById(),举例如下:

value="" />

在JS中取得此元素内容的代码为:

var name=document.getElementById("name").value

这种方法无论表单元素处于那个表单中甚至是不在表单中都能凑效,一般情况下是我们用JS访问表单元素的首选.

鉴于document.getElementById比较长,你可以用如下函数代替它:

function $(id){

return document.getElementById(id);

}

把这个函数放在共有JS库中,在jsp页面通过如下方法引用它:

"記賬系统"添加资源页面

type="text/css" />

此后你就可以直接使用$访问表单元素中的内容:

var name=$("name").value;

表单字段的共性

以下是所有表单字段(除了隐藏字段)

Disabled可以用来获取或设置表单控件是否被禁用.

Form特性用来指向字段所在的表单.

Blur()方法使表单字段失去焦点.

Focus()方法使表单字段获得焦点.

当字段失去焦点是,发生blur事件,执行onblur事件处理程序.

当字段获取焦点时,发生focus事件,执行onfocus事件处理函数.

当页面载入时将焦点放在第一个字段

在body代码中如此书写:

JS函数如下书写:

Fucntion focusOnFirstElm(){

document.forms[0].elements[0].focus();

}

如果第一个字段不是隐藏字段此方法就是凑效的,如果是的话把elements的下标改成非隐藏字段的下标即可.

控制表单只被提交一次

由于Web的响应问题,用户有可能会点击多次提交按钮从而创建重复数据或是导致错误,我们可以使用JS对提交按钮进行设置以让表单只被提交一次。

这里在点击提交按钮时执行了两句JS代码,一次是this.disabled=true;这是让提交按钮被禁用;一次是this.form.submit()这是提交这个按钮所在的表单。

检查用户在表单元素中的按键

为控件添加 onkeydown事件处理,然后在函数查看keyCode,就能知道用户的按键,代码如下:

value="" οnkeydοwn="testkey(this,event)"/>

JS代码如下:

function testkey(obj,event){

alert(event.keyCode);

}

这种技巧在改善用户体验如按回车键提交表单时很常用。

posted on 2008-03-02 15:23 和风细雨 阅读(2097) 评论(2)  编辑  收藏 所属分类: JavaScript

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值