JQuery专栏之十三————获取表单中可编辑控件的名称、类型及其值

13. 获取表单中可编辑控件的名称、类型及其值。

在jQquery中,可以通过多种方法获取页面中的所有可编辑控件的名称、类型和值。不同类型的控件其取值方法不同。一般控件可直接使用jQuery语句$(#id).val()取值,而textbox和combobox控件需要使用getValue方法取值。checkbox控件的取值比较复杂,可以在判断其选中状态的基础上,使用attr()方法从属性中取值。

本例使用$('input, select, textarea').each(function(index)方法遍历一个页面所有控件,利用循环,先使用this和attr(‘type’)分别提取控件的标识符和类别,然后根据控件类别采用不同的取值方式获取控件内容值,并将结果按照JSON格式存放到一个data变量中,在一个textarea框中显示出来。具体方法和代码如下:

$('input, select, textarea').each(function(index){

     var input = $(this);

     var id=input.attr('id');

     var value=undefined;

     var type=input.attr('type');

     var hidden=input.attr('hidden');

     if (id!=undefined){

              if (type=='text' && hidden!='hidden'){

                        value=input.textbox('getValue');

              }else if (type=='combobox'){

                        value=input.combobox('getValue');

              }else if (type=='checkbox'){

                        if (input.is(':checked')) value=input.attr('xtext');

              }else if (type!='button'){

                        value=input.val();                       

              }

              if (value!=undefined){

                        if (data!='') data+=',';                           

                        data+='"'+id+'":"'+value+'"';

                        console.log(id+'----'+type+'----'+value);

              }

     }

});

data='{'+data+'}';

$("#xformvalues").val(data);

由于获取一个控件值的程序比较繁琐,因此可以专门构造一个自定义函数,在给定一个控件ID值的基础上,返回其内容值。具体方法可参考Easyui_function.js文件中的myGetInputValue()函数。

本例所属的控件遍历方法也可应用于其他事务处理中。例如,将一个表单中的所有可编辑控件内容清空,或设置为只读状态等。

作业题:

1.根据页面中各个控件名称及其内容值,生成一条数据库Insert语句和update语句。

2.在利用$('input, select, textarea').each(function(index)获取页面控件时,如何避免那些不是表单中的控件,如本例中的xformvalues,它是window窗口中的控件。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值