после загрузки флеш ролика форма перестает работать - PullRequest
0 голосов
/ 24 августа 2011

Я абсолютный новичок во флеш и сценарии действий, у меня есть некоторые знания в других языках программирования.

Пытаясь помочь другу, я добавил контактную форму на веб-сайте его компании, которая была сделанакем-то еще.

его сайт полностью заполнен флеш-памятью с индексной рамкой, которая загружает несколько страниц.

После того, как я создал новый 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:

Iпопытался добавить в мой 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|[_.\-])+@((\w|-)+\.)+\w{2,4}+/;
    var result:Object = pattern.exec(str);
    if(result == null) {
        return false;
    }
    return true;
}

1 Ответ

0 голосов
/ 25 августа 2011

Код, который вы указали для оригинального сайта, находится в AS2, но код от вашего SWF-контакта - в AS3. Вы не можете загрузить AS3 в AS2, поэтому вам придется переписать свою контактную форму, используя AS2.

...