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

王朝other·作者佚名  2006-11-24
宽屏版  字体: |||超大  

如图所示,

本教程利用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);

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有