打印

[课件制作] flash课件专题讨论

flash课件专题讨论

各位在flash有什么问题或经验请在此发表高见,一并共享flash课件制作的乐趣。

TOP

回复: flash课件专题讨论


1.在制作Flash课件时,如果课件中使用了输入文本框,怎样限制用户在文本框中输入的字符类型呢?
我们在用Flash制作交互课件时,输入文本框是经常用到的交互对象。课件运行时,用户在输入文本框中输入不同的数据,可以得到不同的课件运行结果。如果我们想把课件制作得更专业、更严谨,就必须根据课件的具体情况限制输入文本框中可以输入的字符类型,以避免用户输入无效的数据。
如果我们想限制Flash课件中某一个文本输入框实例中可以输入的字符类型,可以使用TextField类的属性进行设置。TextField类属于影片类型,在Flash“动作”面板中的“ActionScript2.0类”下的“影片”类型中可以找到TextField类的方法和属性。
TextField类的restrict属性可以指示用户可输入到文本字段中的字符集。如果restrict属性的值为null,则可以输入任何字符。如果restrict属性的值为空字符串,则不能输入任何字符。如果restrict属性的值为一串字符,则只能在文本字段中输入该字符串中的字符。可以使用短划线 (-) 指定一个范围。
例如:
//限制名字为myTxt的输入文本框实例中只能输入数字
myTxt.restrict="0-9";
//限制名字为myTxt的输入文本框实例中只能输入大写字符、空格和数字
myTxt.restrict="A-Z 0-9";
如果restrict属性的值为以 ^ 开头的字符串,则先接受所有字符,然后从接受字符集中排除字符串中 ^ 之后的字符。
例如:
//限制名字为myTxt的输入文本框实例中可以输入除小写字母之外的所有字符
myTxt.restrict="^a-z";
另外,TextField类的maxChars属性指示文本字段最多可容纳的字符数。
例如:
//限制某一个输入文本框实例中只能输入3个字符
myTxt.maxChars=3;
如果制作的Flash课件中包含的输入文本框比较多,而且我们需要对这些输入文本框对象的输入字符类型统一进行限定,那么再使用上面的方法就比较麻烦,每一个输入文本框实例都需要进行设置。
其实我们只需将下面的程序代码输入到Flash课件的第1帧,即可达到目的。
TextField.prototype.onChanged = function() { //所有的文本输入框实例,当输入文本时
            if (this.text != "-" && isNaN(this.text)) { //如果用户输入的不是数字(包括负数)
                this.text = ""; //那么都设定文本输入框实例为空,也就是不能输入
}
}
其中prototype是对类或函数对象的超类的引用,这样我们定义的onChanged事件函数可以被所有TextField实例共享。
isNaN()函数可用于检查一个数学表达式是否成功地计算为一个数字。如果值为NaN(非数字),则返回true,否则返回false。
本帖最近评分记录
  • 比比爱 威望 +5 不错 2007-11-14 07:09

TOP

当前时区 GMT+8, 现在时间是 2009-1-10 11:51

Processed in 0.053629 second(s), 7 queries.