| 实现Flash的TextInput输入框自动填写功能 |
|
实现Flash的TextInput输入框自动填写功能 |
| 作者:佚名 来源:闪吧 作者: ppanyong 更新:2007-1-13 20:36:56 错误报告 我要投稿 |
|

如图所示,本教程利用flash的dataset和list组件,实现类似IE表单的自动记录功能。
用到的方法主要有:
Dataset.loadFromSharedObj(对象名称, 本地路径); Dataset. saveToSharedObj(对象名称, 本地路径); Dataset.addSort();
首先,将组件 Dataset,TextInput,List 拖到主场景上。分别取名my_DS, my_input , my_list。 然后,在关键祯上写AS代码如下:
import mx.data.components.datasetclasses.DataSetError;//导入Dataset错误处理 var inputID:String = "inputID04"; //在客户端缓存里的标识 类似Cookie的标识作用 function loadStr(ID) { //导入本地存储的数据,并写入List my_DS.loadFromSharedObj(ID, "/"); var _length:Number = my_DS.items.length; key = ID; if (my_DS.length != 0) { //对数据按照日期进行排序 if (!my_DS.hasSort(key)) { my_DS.addSort(key, ["date"], DataSetIterator.Descending); my_DS.useSort(key, DataSetIterator.Descending); } else { my_DS.useSort(key, DataSetIterator.Descending); } } my_DS.last(); for (i=0; i<_length; i++) {//在List组件中显示出记录 this.my_list.addItem({label:my_DS.currentItem.Str}); my_DS.previous(); } } function setStr(ID) { //存入Textinput的字符 my_DS.loadFromSharedObj(ID, "/"); var now:Date = new Date(); my_DS.addItem({Str:this.my_input.text, date:now.getTime()}); my_DS.saveToSharedObj(ID, "/"); } function init(ID) {//初始化,导出存在本地的Dataset try { my_DS.loadFromSharedObj(ID, "/"); } catch (e:DataSetError) { my_DS.saveToSharedObj(ID, "/"); } loadStr(ID); } init(inputID);
var tiListener:Object = new Object(); tiListener.handleEvent = function(evt_obj:Object) { if (evt_obj.type == "enter") { //当用户按回车 则记录下输入的内容 setStr(inputID); } }; // 添加侦听器。 my_input.addEventListener("enter", tiListener);
|
|
| 文章录入:skyuu 责任编辑:skyuu |
|
| 【字体:小 大】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口】 |