从AS2中动态创建的textinput传递变量?

时间:2011-02-16 11:44:43

标签: flash actionscript actionscript-2

我的flash文件中有一个联系表单,其中包含用户可以填写的名称/电子邮件/消息字段,然后单击“发送”,将这些表单传递给php脚本,然后通过电子邮件发送他们输入的信息。当文本输入被手动放置在舞台上并且所有信息都传递给php脚本并通过电子邮件发送给我时,这样可以正常工作。我只是更新它,所以textinputs是通过AS2创建的,这样我就可以更容易地设置它们等等。这很好,但是当通过脚本创建时它们不再传递给我的php文件。我正在使用以下代码创建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 = "";

仅供参考我在包含表单(称为contact_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);

这样可以正常工作,但不会获取动态创建的文本输入的值(但是会选取手动添加到舞台的所有文本输入)。我很困惑,为什么它没有采取这种方式,我不确定如何设置它,如果有人能指出我正确的方向,我将非常感激?

非常感谢你的帮助,

戴夫

1 个答案:

答案 0 :(得分:0)

您似乎没有设置contact_name.variable。更正或将contact_name.text转发到this的成员变量可以解决您的问题。