2011-02-16 63 views
0

我与名/电子邮件/消息字段我的Flash文件中的接触形式,用户可以填写,然后点击发送,从而通过这些来,然后电子邮件的信息,他们进入了一个PHP脚本。当文本输入手动放置在舞台上并将所有信息传递给php脚本并通过电子邮件发送给我时,这可以正常工作。我只是更新它,所以文本输入是通过AS2创建的,这样我就可以更容易地设计它们了。这很好,但是当通过脚本创建它们时,它们不再传递到我的php文件。我使用下面的代码(其正常工作)创建了TextInput:从AS2中动态创建的textinput传递变量?

var my_fmt:TextFormat = new TextFormat(); 
my_fmt.bold = false; 
my_fmt.font = "Arial"; 
my_fmt.color = inputcol; 

contact_form.createTextField("contact_name", getNextHighestDepth(),112.6, 27, 174, 20); 
contact_form.contact_name.wordWrap = true; 
contact_form.contact_name.multiline = false; 
contact_form.contact_name.border = true; 
contact_form.contact_name.borderColor = inputcol; 
contact_form.contact_name.type = "input"; 
contact_form.contact_name.setNewTextFormat(my_fmt); 
contact_form.contact_name.text = ""; 

FYI我含有形式(称为CON​​TACT_FORM)的movieclip外部创建此,然后将其添加到该MC特异性,因为我认为这可能是必要的,因为在mc本身(使用this.createTextField ....)不起作用,但两者似乎都具有相同的效果。

我然后做各种检查,在输入框中的内容(以确保它不是空等等),这也能正常工作,给我相关的错误,如果它是空的,所以它的正确访问它。然后我用下面的代码提交的变量和check_status检查取得成功的PHP脚本和警报/失败的用户相应:

loadVariables("http://www.makeaportfolio.com/send_email.php?flashmo=" + random(1000), this, "POST"); 
message_status.text = "sending...."; 
var interval_id = setInterval(check_status, 400); 

这工作正常但不拿起动态创建的文本输入的值(但是会提取手动添加到舞台上的所有文本输入)。我很困惑,为什么它没有选择这个,我不知道我是如何设置它的,我会非常感激,如果有人能指出我在正确的方向?

非常感谢您的帮助如初,

戴夫

回答

0

看来你不设置contact_name.variable。要么纠正这个问题,要么将contact_name.text转发给成员变量this应该可以解决您的问题。

+0

感谢这么多,我还是不明白为什么它不会自动传递CONTACT_NAME通过,但是如果我手动在舞台上创建另一个隐藏的TextInput,然后分配contact_name.text给它那么这一个没有获得通过。我想这是关于通过actionscript创建输入的范围,但我不明白为什么,因为它是在contactform movieclip中专门创建的。为了利益,如果有人知道为什么这是我会非常感兴趣知道,但否则非常感谢您的帮助,因为这已经得到它的工作(尽管在一个稍微复杂的方式)!谢谢! – deshg 2011-02-17 11:40:13