在Javascript中,页面上的每一对

标记都解析为一个对象,即form对象。


可以通过document.forms获取以源顺序排列的文档中所有form对象的集合。

如果一个表单对象定义如下:

view source

print?

1获得该表单对象的方法:

view source

print?

1    document.forms["frm1"];   // 根据name属性值

2    document.forms[0];        // 根据索引号

3    document.frm1;            // 直接根据name值获得对象

form 表单应该注意的属性

elements:获取以源顺序排列的给定表单中所有控件的集合。但是对象不在此集合内。

view source

print?

1    var txtName = myform.elements[0];         //获得表单的第一个元素

2    var txtName = myform.elements["txtName"]; //获得name属性值为"txtName"的元素

3    var txtName = myform.elements.txtName;    //获得name属性值为"txtName"的元素

enctype:设置或获取表单的多用途网际邮件扩展(MIME)编码。这个属性的默认值为:application/x-www-form-urlencoded,如果要上传文件,则应该设置为:multipart/form-data。

form 表单中的标记

每一个表单元素的文字描述都应该使用标记。

该标记用于将文字绑定到对应的表单元素上,它的for属性指定它所要绑定的表单元素id值。绑定后单击该文字,鼠标将聚焦到对应的文本框中或选中对应的选项。

若安装了某些桌面主题,某些表单元素还会变换颜色来予以提示,这大大提高了用户体验。

示例代码:

view source

print?

0102点我将聚焦到文本框0304
05点我将选中单选框0607
08点我将选中复选框0910

注意:


* 每个表单元素应当尽量使用标签来提高用户体验;

* 每个表单元素应当分配 name 属性和 id 属性。name 属性:用来将数据提交到服务器;id 属性:用来在客户端做相应的操作;如:标签的绑定、CSS 选择器的使用等。 ( name 属性和 id 属性应该尽可能地使用相同的或相关的值。)

在客户端,Javascript对表单及表单元素的操作,更青睐于使用其name属性。因为,对于某些特定的表单元素(如:单选按钮等),使用其name属性更易于获得元素值,也更方便向服务器传送数据!

Javascript操作form表单元素,比较少用的属性:

* defaultChecked 设置或获取复选框或单选钮的状态。

* defaultValue 设置或获取对象的初始内容。

* disabled 设置或获取控件的状态。

提交表单

提交表单的示例:

view source

print?

1234注意:

* 如果使用submit()方法来提交表单,则不会触发

表单元素的onsubmit事件,这是与用提交元素不同的地方;


* 可以在按钮的提交或点击事件中,使用disabled 属性来禁用用户反复点击提交按钮的行为,减少服务器的响应负担;

设置文本框

控制文本框的字符个数:

view source

print?

0102functionLessThan(_textArea){03//返回文本框字符个数是否符号要求的boolean值04return_textArea.value.length<_textarea.getattribute>07文本框:08

09


10多行文本框:11注意:多行文本框中的maxlength为自定义属性;如果在中输入字符时,换行也算一个字符;


鼠标经过时,自动选中文本框:

view source

print?

0102window.οnlοad=function(){03vartxtName=document.getElementsByName("myName")[0];04txtName.οnmοuseοver=function(){05this.focus();06};07txtName.οnfοcus=function(){08this.select();09};10}1112实现了行为与结构的分离。

设置单选按钮

获取选中的单选按钮 & 设置单选按钮被选中:

view source

print?

0102//获取选中项03functiongetChoice(){04varoForm=document.forms["myForm1"];05//radioName是单选按钮的name属性值06varaChoices=oForm.radioName;07//遍历整个单选项表08for(i=0;i20    //调用代码

2122需要保证同一组单选按钮的name属性值相同即可。

设置复选框

设置复选框的“全选”、“全不选”及“反选”功能:

view source

print?

0102functionchangeBoxes(_action){03varmyForm=document.forms["myForm1"];04//myCheckbox 为所有复选框的name属性值05varoCheckBox=myForm.myCheckbox;0607for(vari=0;i1516aa

17bb

18192021

设置下拉列表框


下拉列表框的multiple 属性用于设置或获取下拉列表框是否可以选中多个选项。

下拉列表框默认只能选中一项,若要设置为可以选中多项,则即可。

type 属性:javascript语言根据type属性的值获得下拉列表框select控件的类型。

type 属性的值为:select-multiple 或 select-one(注意:下拉列表框的类型由multiple 属性控制)。

查看下拉列表框的选项(单选项 & 多选项):

view source

print?

0102functiongetSelectValue(_myselect){03varoForm=document.forms["myForm1"];04//根据参数(下拉列表框的name属性值)获得下拉菜单项05varoSelectBox=oForm.elements[_myselect];06//判断是单选还是多选07if(oSelectBox.type=="select-one"){08variChoice=oSelectBox.selectedIndex;//获取选中项09alert("单选,您选中了"+oSelectBox.options[iChoice].text);10}11else{12varaChoices=newArray();13//遍历整个下拉菜单14for(vari=0;i232425AA26BB27CC2829添加下拉列表框的选项

追加新选项到末尾:

view source

print?

12functionAddOption(Box){//追加选项到末尾3varoForm=document.forms["myForm1"];4varoBox=oForm.elements[Box];5varoOption=newOption("乒乓球","Pingpang");6oBox.options[oBox.options.length]=oOption;7}8插入新选项到指定位置:

view source

print?

0102functionAddOption(_select,_num){03varoForm=document.forms["myForm1"];04varoBox=oForm.elements[_select];05varoOption=newOption("text值","value值");06//兼容IE7,先添加选项到最后,再移动07oBox.options[oBox.options.length]=oOption;08oBox.insertBefore(oOption,oBox.options[_num]);09}1011注意:如果直接使用insertBefore()方法插入选项,将会在IE中出现一个空选项的bug。为了解决IE的这个bug,只能使用先追加新选项到末尾,然后再使用insertBefore()方法将其移动到相应的位置。

类似这样:为了跳过浏览器的某些bug或限制,实现预定目的的小技巧,通常称之为hack。

替换某一选项:

view source

print?

0102//替换选项03functionReplaceOption(_select,_num){04varoForm=document.forms["myForm1"];05varoBox=oForm.elements[_select];06varoOption=newOption("text值","value值");07oBox.options[_num]=oOption;//替换第_num 个选项08}0910通过oBox.options[_num] = oOption 直接将创建的新选项替换掉指定位置的选项。

删除某一选项:

view source

print?

0102functionRemoveOption(_select,_num){03varoForm=document.forms["myForm1"];04varoBox=oForm.elements[_select];05oBox.options[_num]=null;//删除选项06}0708091011

java form是什么 java里form_文本框

java form是什么 java里form_表单_02

12直接通过oBox.options[_num] = null 删除选项。