您要打印的文件是:关于FLASH留言板的详细教程2

关于FLASH留言板的详细教程2

作者:佚名    转贴自:本站原创    点击数:2303


mc._visible = false;      //  this_mc 为一个填写错误提示的影片剪辑 
this_sex = 先生;           //默认sex为先生 
function clean() {             // 点取消按钮时,清空所有数据 
       this_name.text = ; 
       this_homepage.text = ; 
       this_email.text = ; 
       this_title.text = ; 
       this_content.text = ; 

function emailcheck(str) {         //检测email填写是否正确,判断是否有@ 和 点 
       at = false; 
       dot = false; 
       for (i=0; i 
              if (str.charAt(i) == ’@’) { 
                     at = true; 
              } 
              if (str.charAt(i) == ’.’) { 
                     dot = true; 
              } 
       } 
       return (at && dot); 

clean_btn.onRelease = function() { 
       clean(); 
}; 
send_btn.onRelease = function() {           //提交按狃代码 
       if (this_name.text == ) { 
              this_mc._visible = true; 
              this_mc.tishi.text = 姓名不能为空!; 
       } else if (emailcheck(this_email.text) == false) { 
              this_mc._visible = true; 
              this_mc.tishi.text = 请正确填写邮件!; 
       } else if (this_title.text == ) { 
              this_mc._visible = true; 
              this_mc.tishi.text = 主题不能为空!; 
       } else if (this_content.text == ) { 
              this_mc._visible = true; 
              this_mc.tishi.text = 内容不能为空!; 
       } else { 
              myName = this_name.text; 
              myHomepage = this_homepage.text; 
              if (myHomepage == ) { 
                     myHomepage = http://www.u-lee.com; 
              } 
              myEmail = this_email.text; 
              myTitle = this_title.text; 
              myContent = this_content.text; 
              mySex = this_sex; 
              trace(myName); 
              trace(myHomepage); 
              trace(myEmail); 
              trace(myTitle); 
              trace(myContent); 
              trace(mySex); 
              loadVariablesNum(write.asp, 0, POST);   // 如果填写的数据全部合格,将提交数据到write.asp 
              _parent.page_num = 1; 
              _parent.prev_btn._visible = false; 
              _parent.txt._visible = true; 
              _parent.xiala._visible = true; 
              _parent.next_btn._visible = true; 
              _parent.btn2.gotoAndStop(1); 
              _parent.btn1.gotoAndStop(2); 
              _parent.ggg = 0; 
              _parent.mess.unloadMovie(); 
              _parent.mess.loadMovie(read.swf);     //提交后,自动转入显示留言的页面 
       } 
}; 
listenerObject_1 = new Object();                   // 侦听事件,如果选择了先生则this_sex = 先生; 
listenerObject_1.click = function(eventObject) { 
       this_sex = 先生; 
}; 
listenerObject_2 = new Object(); 
listenerObject_2.click = function(eventObject) {    // 侦听事件,如果选择了先生则this_sex = 女士; 
       this_sex = 女士; 
}; 
sex_1.addEventListener(click, listenerObject_1); 
sex_2.addEventListener(click, listenerObject_2); 
stop(); 
read.swf 

以上是一个空影片剪接,用于放置留言信息, 想想假如我想每页显示5个,那么 我需要复制5个这样的影片,放到场景中, 再把从xml中的提取出来的数据注入到每个影片中的 1-5个 动态文本框中去. 
如何读数据,上面已经讲过了, 现在 只要把数据赋给动态文本框中就可以了. 需要注意的是,我们选用的是自定义的文本框,首先确保他是多行的并且是自动换行的,所以我们考虑的是,文本框的高度必须根据内容的多少来显示。以下代码就可以实现: 

scroll_1 = this.message_load_mc[message_mc+i].content_txt.maxscroll;  //取得内容的最大滚动量 
this.message_load_mc[message_mc+i].content_txt._height = scroll_1*18;  
 //一行文本,如果是12号字大约是18px,那么*18后,就可以得到content_txt._height 了 
回复同样也是这样另外,低色的高度也要根据上面内容来确定。 
this.message_load_mc[message_mc+i].back_2._y= this.message_load_mc[message_mc+i].back_1._y+this.message_load_mc[message_mc+i].back_1._height+2 
//得到back_2._y 坐标。 

 完整的代码:

stop(); 
System.useCodepage = true; 
//现在是第几页,由_root里的this_nowpage来传给它,在场景中定义 
this_nowpage = _parent.page_num; 
temp = 0; 
read_xml = new XML(); 
read_xml.ignoreWhite = true; 
read_xml.load(DataSource.asp?Page=+this_nowpage+&+Math.random(10000));  
 // 刷新DataSource.asp,保证不使用缓存里的数据 
read_xml.onLoad = function(success) { 
       if (success) { 
              trace(OK); 
              parseXML(); 
    &nbs