我是Flash和动作脚本中的一个完全搭档,我对其他编程语言有一定的了解。加载Flash动画后,表单停止工作
通过试图帮助朋友,我在他的公司网站上添加了一个由其他人制作的联系表。
他的网站是全闪存索引框架,加载几个页面。
在我构建新的contact.swf并在本地进行测试并通过直接从浏览器访问并进行托管并嵌入之后,我尝试将其替换为没有联系表单的旧contact.swf。
在测试过程中,一切都很好,但是当包含在网站中时表单不起作用。 该表单有一些规则可以防止带绿色文本警告的空字段。当我访问它单独嵌入在它的网页工作,当我访问它由index.swf加载它没有,即使我按下提交按钮。
所以我假设问题出在index.swf动作脚本中。
加载接触页面的按钮有此代码:
on (rollOver) {
gotoAndPlay(2);
}
on (rollOut) {
gotoAndPlay(11);
}
on (release) {
_root.main.secondary.loadMovie("contact.swf");
_root.main.logo.gotoAndPlay("s1");
}
我认为要么是影片加载的方式要么有类似的指标电影,块的接触形式的面具。
如果需要,我也可以提交索引或联系方式。
感谢
LE:
我试图添加到我的contact.swf _lotroot = TRUE;我得到编译错误。
为contact.swf动作脚本是这样的:
stop();
import flash.events.*;
import flash.net.URLLoader;
import flash.net.URLLoaderDataFormat;
import flash.net.URLRequest;
// ----------------------------------------------------------------
var variables:URLVariables = new URLVariables();
// Be sure to change this URL to the PHP parse file on your site server
var varSend:URLRequest = new URLRequest("http://www.mydomain.tld/form.php");
var varLoader:URLLoader = new URLLoader;
varSend.method = URLRequestMethod.POST;
varSend.data = variables;
status_txt.text = "";
submit_btn.addEventListener(MouseEvent.CLICK, ValidateAndSend);
function ValidateAndSend(event:MouseEvent):void{
//validate form fields
if(!name_txt.length) {
status_txt.text = "Introduceti numele dvs.";
} else if(!companie_txt.length) {
status_txt.text = "Introduceti numele companiei.";
} else if(!telefon_txt.length) {
status_txt.text = "Introduceti numarul de telefon.";
} else if(!email_txt.length) {
status_txt.text = "Introduceti o adresa de email.";
} else if(!validateEmail(email_txt.text)) {
status_txt.text = "Introduceti o adresa de email corecta.";
} else if(!message_txt.length) {
status_txt.text = "Introduceti mesajul.";
} else {
status_txt.text = "Multumim " + name_txt.text + ", mesajul a fost trimis!";
variables.userName = name_txt.text;
variables.userEmail = email_txt.text;
variables.userMsg = message_txt.text;
variables.companie = companie_txt.text;
variables.telefon = telefon_txt.text;
varLoader.load(varSend);
}
}
function validateEmail(str:String):Boolean {
var pattern:RegExp = /(\w|[_.\-])[email protected]((\w|-)+\.)+\w{2,4}+/;
var result:Object = pattern.exec(str);
if(result == null) {
return false;
}
return true;
}
首先,_root将是index.swf,它可能没有链main.secondary或main.logo。 –
您是否在contact.swf的代码中使用了_root引用?你是否知道,如果你这样做,它会引用index.swf的_root(除非在contact.swf中设置_lockroot = true)。 –
我用反馈编辑了这个问题 – tuiti