AS3+ASP+ACCESS的FLASH留言版教程(二)
接上一篇,现在说说AS的写法了。在AS中主要要实现的功能就是对XML的读取以及表单数据的提交,只要实现了这两个功能,其余的表现手法什么的都可以自由发挥咯。
在这里我只把主要的帖出来说一下,稍后我会附上源码的。
先是读取XML
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | private function loadxml() { var Requesturl:URLRequest=new URLRequest("getinfo.asp?page="+page+"&"+Math.random()* 10);//路径可以是绝对也可以是相对,后面加随机数是解决数据刷新问题。 loader=new URLLoader(Requesturl); loader.addEventListener(Event.COMPLETE,xmlcomplete); } private function xmlcomplete(e:Event) { listxml=new XML(e.target.data); add_list(); listxml.@page>1 ? add_page() : 0;//如果页数大于1,显示分页 } private function add_list() {//list_block为一个元件,里面有分别命名为book_title,book_name,book_date的三个动态文本。 for (var i=0; i<listxml.item.length(); i++) { list_block=new list_mc; list_block.y=25* i; list_block.visible=false; list_block.book_title.text=listxml.item.@book_title[i].toString(); list_block.book_name.text=listxml.item.@book_name[i].toString(); list_block.book_date.text=listxml.item.@book_date[i].toString(); } } |
当然,在显示列表的时候可以加一些视觉效果,这个就可以自行发挥咯。
接下来是表单提交的部分
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | private function send_book(e:MouseEvent) { //在这里可以先对表单进行验证 var request:URLRequest=new URLRequest("sendinfo.asp"); var variables:URLVariables=new URLVariables(); variables.book_name=input_boxs.input_name.text; variables.book_qq=input_boxs.input_qq.text; variables.book_mail=input_boxs.input_mail.text; variables.book_title=input_boxs.input_title.text; variables.book_info=input_boxs.input_info.text; request.data=variables; var loader:URLLoader=new URLLoader(); loader.dataFormat=URLLoaderDataFormat.TEXT; loader.addEventListener(Event.COMPLETE,send_complete);//提交成功后运行send_complete loader.load(request); } } |
一个完整的留言版也会牵涉到很多东西,在这里附上源码,由于写得比较急,也没加什么注释,欢迎大家指正以及讨论。
12条留言 立即发表评论
gg,那个留言框,如果留言多的话,能加个滚动条就完美了
呵呵,这里我是偷了点懒,在输入那里我控制了字数,不过感觉加滚动条有点破坏视觉效果,有时间我再研究下有什么好方法了
@Jumea
那就欢迎常来,嘿嘿。
太利害,我学习了
共同学习,呵呵。
谢谢分享!
我在测试的时候 ,提交留言没有反应。
需要什么设置么。我直接导出swf文件。然后插入一个asp文件。能够读取数据库中的内容,但是添加新留言无反应。忘能回复,谢谢。我加你q,不知道你的公司名称。我的是281227484
很久没有弄FLASH的东西了,一般来说应该是路径的问题了,用抓包工具调试一下就知道问题所在了
好的,谢谢!
PS:说一下,看一看最近几篇文章就知道加QQ的答案了呀
谢谢楼主,帮大忙了!