formularz, problem ze zmiennymi |
Autor |
Wiadomość |
kosecki
Bywalec

Pomógł: 2 razy Dołączył: 15 Mar 2006 Posty: 13
|
Wysłany: Sro 15 Mar, 2006 19:11 formularz, problem ze zmiennymi
|
|
|
Witam,
mam problem z formularzem pisanym w swishmax. korzystalem z zawartego gdzies na forum przykladowego skryptu. Ogolnie problem jest w tym ze pola z ktorych chce pobrac wartosc do pozniejszego przeslania sa zagniezdzone tzn. np
pole email jest _root.formularz.form.mail__.email
w skrypcie w ktorym to dziala urzywane jest emailVar itd
Niestety u mnie zmienne nie sa widoczne (pola input text sa target).
Czy ktos mial taki problem. Prosze o pomoc.
K.
ps. w zalaczniku projekt formularza |
|
|
|
 |
^galechus


Pomógł: 16 razy Dołączył: 05 Lip 2005 Posty: 248 Skąd: Trzcianka
|
Wysłany: Sro 15 Mar, 2006 19:59
|
|
|
Witaj, nie bardzo rozumiem..., ale pokaże Ci to na przykładzie.
To jest kawałek kodu z formularza, który jest podpięty pod button WYŚLIJ, tutaj pobiera dane.
Kod: |
Email = _root.formularz.form.mail__.Email;
Message1 = _root.formularz.form.mail__.Message1;
Name = _root.formularz.form.mail__.Name;
Status = "";
loadVariablesNum("email.php",0,'POST');
|
Pamiętaj, że na polach (input) musisz mieć zaznaczoną opcję TARGET i dla każdego pola musisz mieć wpisana nazwe zmiennej, czyli u Nas będzie to:
dla polaemail zmienna (varaiable): Email
dla pola wiadomośc zmienna (varaiable): Message1
dla pola imię zmienna (varaiable): Name
to wszystko co powinieneś zrobić w swish'u, natomiast skrypt php powinien wyglądać tak:
Kod: |
<?php
$message1 = $HTTP_POST_VARS['Message1'];
$name = $HTTP_POST_VARS['Name'];
$email = $HTTP_POST_VARS['Email'];
$name = stripslashes($name);
$email = stripslashes($email);
$message1 = stripslashes($message1);
$rec_email = "jakis@email.pl";
$subject = "jakis temat";
$msg_body = "List od $SERVER_NAME\n";
$msg_body .= "*****************************************\n";
$msg_body .= "IMIĘ I NAZWISKO: $name\n";
$msg_body .= "E-MAIL: $email\n";
$msg_body .= "OPIS: $message1\n";
$msg_body .= "*****************************************\n";
$msg_body .= "\n\n";
$msg_body .= "Dodatkowe informacje\n";
$msg_body .= "*****************************************\n";
$msg_body .= "IP Address: $REMOTE_ADDR\n";
$HostName = gethostbyaddr($_SERVER['REMOTE_ADDR']);
$msg_body .= "Host: $HostName\n";
$msg_body .= "User Agent: $HTTP_USER_AGENT\n";
$msg_body .= "*****************************************\n";
// Add Some Extra Header Information to the Mail
$header_info = "From: ".$name." <".$email.">";
// Now let's take the information above and mail it to the recipient
mail($rec_email, $subject, $msg_body, $header_info);
?>
|
Mam nadzieję, że w jakiś sposób Ci pomogłem.
|
|
|
|
 |
kosecki
Bywalec

Pomógł: 2 razy Dołączył: 15 Mar 2006 Posty: 13
|
Wysłany: Czw 16 Mar, 2006 16:18
|
|
|
po pierwsze dzieki za odpowiedz.
druga sprawa:
trzeba dodac wlasnosc pola .text zeby zczytac wartosc
Email = _root.formularz.form.Email.text; czyli pole input email przekazujemy do zmiennej email.
natomiast gdy chce wyczyscic dane pole formularza (przyc czysc) powinnienem uzyc
_root.formularz.form.Email.text = "";
niestety nie skutkuje, tzn pole formularza jakby na chwile sie czyscilo i z powrotem wraca text (mozna zaobserwowac migniecie). |
|
|
|
 |
^buber

Pomógł: 18 razy Wiek: 50 Dołączył: 29 Sty 2006 Posty: 116 Skąd: LOL
|
Wysłany: Czw 16 Mar, 2006 16:42
|
|
|
troche tego tam masz;] po pierwsze zrob tam porzadek i lecimy dalej
kliknij np na pole zastosowania ma name"namepusty" zaznaczony target w opcji pola tekstowego advance nazwa zmiennej nameVar.
wiec nie patrzysz na nazwe pola tylko na nazwe zmiennej w celu wyczyszczenia pola uzylbys w tym momencie _root.formularz.form.nameVar=""; (a nie ....namepusty.text)
zobacz poza tym w polach innych masz wszedzie ta sama zmienna przypisana do pol subjectVar (chyba ze to celowo) |
|
|
|
 |
kosecki
Bywalec

Pomógł: 2 razy Dołączył: 15 Mar 2006 Posty: 13
|
Wysłany: Czw 16 Mar, 2006 17:05
|
|
|
To ze jest balagan to wiem, ale to nie o to sie rozchodzi.
powiedzmy ze odpowiednio sa po nazywane pola i zmienne odnoszace sie tez.
korzystam w ten sposob
dla pola
_root.formularz.form.zast <pole input, target zaznaczone
w przycisku wyczysc uzywam
_root.formularz.form.zastVar = ""; <efektu brak, jesli chodzi o moj formularz. Jesli natomiast przerzuce do innego pliku i to zastosuje, jest ok.
natomiast jesli dla wczytania zmiennej dam
np:
zastosowanie = _root.formularz.form.zast.text;
a potem
trace(zastosowanie); <czyli wyrzucenie do debug wart zmiennej zastosowanie to jest ok.
Wydawalo mi sie z element
_root.formularz.form.zast.text;
ma mozliwosc zapisu i odczytu. Jednak dla
_root.formularz.form.zast.text = ""; nie ma efektu.
Wydaje mi sie ze chodzi o ilosc spritow/grup w ktorych jest docelowy element. Jesli uproscimy wszystko to jest ok. Natomiast tutaj musze miec kilka poziomow zagniezdzen gdyz jest scroll. |
|
|
|
 |
^buber

Pomógł: 18 razy Wiek: 50 Dołączył: 29 Sty 2006 Posty: 116 Skąd: LOL
|
Wysłany: Czw 16 Mar, 2006 17:30
|
|
|
"Zobacz na wyslij i wyczysc (te na samej gorze hierarchii)"
no jak zrobisz pod wyczysc to to kasuje w twoim przypadku
on (press) {
_root.formularz.form.nameVar = "";
_root.formularz.form.emailVar = "";
_root.formularz.form.subjectVar = "";
}
to niewazne ile masz sprajtow itd jezeli masz zmienna przypisana polu tekstowemu to olej odwolywanie sie przez .text
inaczej jakie jest twoje pytanie w ogole hehe;] |
Ostatnio zmieniony przez buber Czw 16 Mar, 2006 18:12, w całości zmieniany 1 raz |
|
|
|
 |
kosecki
Bywalec

Pomógł: 2 razy Dołączył: 15 Mar 2006 Posty: 13
|
Wysłany: Czw 16 Mar, 2006 17:52
|
|
|
Dobra juz wiem.
Nie zauwazylem zakladki advanced w polu text i pola Variable. Probelem rozwiazany, dzieki wielkie. |
|
|
|
 |
|