统计在线人数...

实现Flash的TextInput输入框自动填写功能

[ 来源:不详 | 作者:不详 | 时间:2006-7-8 下午 09:43: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);
共有0人参与评价,平均得分:0分
评论内容只代表网友观点,与本站立场无关! 查看完整内容
   

当前在线人数
QQ:748838 MSN:allen_xia#msn.com E-mail:allenxia666#126.com QQ群:站长联盟北方区-北京(28200145) 站长联盟南方区-上海(67713522)