SWiSH Forum
Forum użytkowników programów SWiSH

SWiSH Max - Polskie znaki w polach "input"

lemondude - Wto 09 Sie, 2005 21:07
Temat postu: Polskie znaki w polach "input"
Witam,
Bardzo prosze o podpowiedz jak zrobic pola typu input w ktorych mozna wpisac polskie znaki? Chodzi konkretnie o litery ą ź i ć. W firefoksie maja podwójne funkcje, select all, wytnij i kopiuj. Natomiast w eksplorerze poprostu nie da się ich wpisać. Bardzo prosze o pomoc. Pilnie.

Z góry dzięki,
Lemon

galechus - Wto 09 Sie, 2005 22:43

Właśnie mam ten sam problem, proszę wraz z kolegą lemondude o pomoc :wink:
adc - Czw 11 Sie, 2005 23:33

Ja również mam ten problem:(, sprawa wydaję się być dość typowym problemem i nie wierzę że nikt z forumowych "wyjadaczy" jeszcze tego nie przerabiał. Bardzo Was proszę pomożcie!

[ Dodano: Pią Sie 12, 2005 1:09 am ]
Trochę podrążyłem temat i poszperałem w sieci i niestety wyczytałem, że problem z polskim znakami (nie wszystkimi, chodzi o żćż i chyba jeszcze jakieś) nie da się rozwiązać w żaden sposób gdyż, jest wynikiem błędu programistów swisha i tak naprawdę nie wiadomo co z tym fantem dalej, gdyż odpowiedzi ze strony producenta są niejednoznaczne i wymijające. Nie wiem na ile ta informacja jest prawdziwa, ale źródło w którym te niusy znalazłem, wydaje się być jak najbardziej wiarygodne.

Piotr - Pią 12 Sie, 2005 07:50

Można ten problem spokojnie "załatwić" zaznaczając z listy rozwijalnej Formatting a następnie zaznaczajac kodowanie HTML (to taki <> znaczek).

Problem jak narazie nie do przeskoczenia przezemnie jest taki że wpisując ciag liter gdy którąś z kolei jest litera ą - kasuje cały ciag ustawiając ja jako pierwszą (... lipa :( )

Mam nadzieję że chociaż w części pomogłem :-D=

MBabelek - Nie 14 Sie, 2005 22:42

ja bym uzył search... problem stary jak... swish :)
lemondude - Czw 18 Sie, 2005 09:36

OK - mam dobrą wiadomość - znalazłem rozwiązanie, a w zasadzie ktoś mi to rozwiazanie podał. Na oficjalnych forach swisha znajduje się ten skrypt:

Kod:

onLoad () {
    var tp = TextField.prototype;
    fpl = new Array();
    fpl[65] = new Array("Ą", "ą");
    fpl[67] = new Array("Ć", "ć");
    fpl[69] = new Array("Ę", "ę");
    fpl[76] = new Array("Ł", "ł");
    fpl[78] = new Array("Ń", "ń");
    fpl[79] = new Array("Ó", "ó");
    fpl[83] = new Array("Ś", "ś");
    fpl[88] = new Array("Ź", "ź");
    fpl[90] = new Array("Ż", "ż");
    tp.onKeyDown = function() {
 this.caret = Selection.getCaretIndex();
 if (Key.isDown(18)) {
  if (!this.alt) {
     this.alt = 1;
     this.selectable = false;
     this.type = "dynamic";
  }
 }
 if (this.alt) {
  var k = Key.getCode();
  if (k == this.kll) this.onKeyUp();
  this.kll = k;
 }
};
    tp.onKeyUp = function() {
 this.kll = null;
 this.kl = Key.getCode();
 if (this.kl == 18) {
  this.alt = 0;
  this.selectable = true;
  this.type = "input";
  Selection.setFocus(this);
  Selection.setSelection(this.caret, this.caret);
 } else if ((this.kl == 65 || this.kl == 67 || this.kl == 88 || this.kl == 69 || this.kl == 76 || this.kl == 78 || this.kl == 79 || this.kl == 83 || this.kl == 90) && this.alt) {
  if (Key.isToggled(20) || Key.isDown(16)) {
   this.kl=fpl[this.kl][0];
  } else {
   this.kl=fpl[this.kl][1];
  }
  var b = Selection.getBeginIndex();
  var e = Selection.getEndIndex();
  if (e>b) {
     this.text = this.text.substr(0, b)+this.text.substr(e);
     if (this.caret == e) this.caret=b;
  }
  this.text = this.text.substr(0, this.caret)+this.kl+this.text.substr(this.caret++);
  Selection.setSelection(this.caret, this.caret);
 }
};
    tp.onSetFocus = function(ss, sn) {
 if (ss != sn) {
  if (eval(ss).alt == 1) eval(ss).selectable=true;
  Key.removeListener(ss);
  Key.addListener(sn);
 }
};
    delete tp;
    Selection.addListener(
 {
  onSetFocus:function () {
   var f = eval(Selection.getFocus());
   if (f.type == 'input') {
    Selection.addListener(f);
    f.alt = 0;
    f.caret = 0;
   }
  }
 }
);
}


Wystaczy go skopiować i wkleić w scene, sprite lub nawet pole tekstowe. Skrypt ten widziałem juz wcześniej, ale dopiero za n-tym razem odkryłem czemu mi nie działał.

Pole tekstowe nie może mieć przypisanej zmiennej w zakładce formatowania textu. Dokładnie text/advanced/variable. Jeżeli zmienną wpiszecie tam - skrypt nie będzie działał.

Zmienną należy pobrać tak:
Kod:
 zmienna=poletextowe.text

Gdzie "zmienna" to nazwa naszej zmiennej a "poletekstowe" to nazwa pola typu input z którego chcemy pobrać wartość.

Działają wszystkie ą, ź i ć.

P.S. Uwielbiam expertów pokroju MBabelka. Ich mocną stroną jest afiszowanie się z posiadaniem wiedzy tajemnej, i jednoczesną pogardą dla maluczkich, głupiutkich takich...

Drogi MBabelku, należe do grona nieszczęsnych ignorantów, których tajniki Google wpędzają w zakłopotanie a skrypt wyszukiwania tego forum powala na kolana w poczuciu upokorzenia. Prosze w imieniu rzeszy idiotów podobnych mi - na przyszłość podaj link o googlowładny, albo nie pisz nic.

Pozdrawiam i mam nadzieje że pomogłem.

nugatt - Czw 18 Sie, 2005 13:08

ej lemondude jesteś ze best. pomogłeś sam sobie. i mi. należy ci się browar. dzięki. :-D=
galechus - Czw 18 Sie, 2005 14:15

lemondude ja mam putanko, jak podpiać ten kod:
Kod:
zmienna=poletextowe.text

Jaki trzeba mu EVENTS dać, onLoad? czy jakiś inny.
Ale kod jest dobry :D :!: :!: Działa, ale nie wpisuję mi literki "ó" ale inne chodza:) :wink:

lemondude - Czw 18 Sie, 2005 21:58

Ten kod nie dotyczy zdarzenia - to zwyczajne przypisanie wartosci zmiennej. Jak x=y+z;
galechus - Czw 18 Sie, 2005 23:12

lemondude ale i tak nie wiem gdzie to wklepać mam :cry: podpinam to pod pole textowe input, a wpisuje to w script
Kod:
zmienna=poletextowe.text
, tak? to i tylko to bez rzadnych innych pierdół?

PS amoże wiesz co jest z tym "ó" ?

nugatt - Pią 19 Sie, 2005 06:49

yo galechus może na przykładzie? pamietasz LYNK ?
do input textów (inputname i inputcomment) trzeba dać ten wspaniały skrypt
Kod:
onLoad () {
    var tp = TextField.prototype;
    fpl = new Array();
    fpl[65] = new Array("Ą", "ą");
    fpl[67] = new Array("Ć", "ć");
    fpl[69] = new Array("Ę", "ę");
    fpl[76] = new Array("Ł", "ł");
    fpl[78] = new Array("Ń", "ń");
    fpl[79] = new Array("Ó"...


a do guzika 'submit' trzeba dodać
Kod:
zmienna=poletextowe.text

czyli
Kod:
    Name = inputname.text;
    Comments = inputcomment.text;


całość
Kod:
onLoad () {
    useHandCursor = false;
}
on (release) {
    Name = inputname.text;
    Comments = inputcomment.text;
    if (Name eq "") {
        Status = "please enter your name.";
        critical.gotoAndStop(2);
    }
 else {
        if (Comments eq "") {
            Status = "please enter your comments.";
            critical.gotoAndStop(3);
        } else {
            Submit = "Yes";
            NumHigh = 1000;
            NumLow = 0;
            GuestBook = "processing..   loading new... ";
            loadVariablesNum("GuestBook.php",0,'POST');
            Status = "your entry has been submitted.";
            gotoAndPlay(3);
        }
    }
}
on (rollOver) {
    playSound("menu1.wav");
}

no i trzeba usunąć zmienne z tych input textów.
ps. na operze i IE 'óÓ' mi działa nie wiem jak na innych przeglądarkach

lemondude - Pią 19 Sie, 2005 14:30

Nie wiem co jest z "ó". Nie wiem czy to nie pośpiech :) Sprobuj przytrzymać chwilę alt a dopiero potem o. Ten skrypt tak działa - w jednej klatce sprawdza czy wciśnięto alt, a w następnej sprawdza czy wciśnięto np. o. Tak więc przy 12 klatkach na sekunde trzeba trzymac alt przez 1/6 sekundy - to bardzo dlugo, normalnie robimy to w ułamku sekundy. Zobacz cy to nie to. Ja mam jak nugatt - wszedzie mi działa.

Jak sie nadal nie poprawi uploaduj plika i popatrzymy.

Odnośnie kodu - wiem że głupie pytanie - ale jezeli zrobiłeś kopiuj - wklej - to nie dodałem na końcu ";" . To na wszelki wypadek - reszta jak Nugatt...

MBabelek - Sob 20 Sie, 2005 07:07

Bardzo mi miło ze o mnie wspomniałeś ale czy taką trudność sprawia Ci wyszukiwanie informacji ? Pisałem ze ten temat był poruszany wielokrotnie i po co tworzyc nowy ?
Może przyznaj sie, że ci sie nie chciało tylko wolałeś gotowca...
Zanim napiszesz pytanie, uzyj search'a
Pozdrawiam :mrgreen:

lemondude - Sob 20 Sie, 2005 08:37

Pozostaje mi tylko lol. Cieszy mnie ze tylko ze pomogle kilku podobnym mi leniwcom.

Owszem - skrypt który wkleiłem był podany na stronie, ale mnóstwo czasu zajeło mi rozgryzienie czemu nie działa. Ciekaw jestem babelku czy ty odpowiedziałbyś mi na to pytanie - czy podobnie jak wczesniej napisał że problem stary jak świat?

BaGRoS - Pią 06 Paź, 2006 10:19

Nie wiem co robię źle :/
Kod:
ERROR: Cannot find variable or function 'TextField' in statement:
Scene_1.pole::onLoad ()::   2: var tp = TextField.prototype
Referenced from: "_root.pole"


[ Dodano: Pią 06 Paź, 2006 15:07 ]
OK, nie działa w Swishu, a bez tego skryptu działa w FF...??!!
Mam polskie znaki. Nie czaje czy potrzebny ten skrypt czy nie??!!

adamo_ - Pon 14 Maj, 2007 11:05

lemondude, gdzie dodać to : zmienna=poletextowe.text ??

Dodałem kod który wkleiłes, i skasowalem wpis msgVar z pola Advanced/variables

są polskie znaki przy wpisyaniu do pola tekstowego, ale nie wysyła tego pola, po naciśnięciu wyslij


U mnie pole tekstowe nazywa się tak jak w oryginale czyli msg

Poniżej kod przycisku Wyslij






Czyta ktoś te forum ?? ??

rafak - Sro 27 Lut, 2008 21:40

Witam.
Czy któryś z kolegów wie może dlaczego powyższy skrypt nie działa w IE7 po kompilacji do SWF7 ?
Dziękuje za jakieś wskazówki.

rash - Sro 12 Lis, 2008 17:51

a ja polecam funkcje iconv() np:
php:
Kod:
function do_iso ($tekst) {

$tekst = iconv('utf-8','iso-8859-2', $tekst);
return $tekst;

}

borecki - Nie 15 Mar, 2009 07:28

ja mam troszke inny problem ale powiazany z komponentem, ktory wstawil lemondude, czy ktos moze mial problem z tym ze jak wpisze polski znak w polu input (uzywajac tego komponentu) to pozniej nie moze wpisac zwyklych liter (tak jakby alt byl caly czas wcisniety)
rallypl - Nie 15 Mar, 2009 07:44

A ja polskie znaki robię przez kopiuj/wklej tekst np. z notatnika bezpośrednio do animacji.
Co prawda nie chodzi o pola imput, ale może komuś się przyda ta informaja . :D

ElectricPl - Wto 18 Sie, 2009 07:08
Temat postu: Brakuje mi jeszcze "ą" i "ź"
Witam szanownych kolegów.
Powiem szczerze ze nie potrafiłem rozgryść powyższego skryptu, w koncu zorientowałem sie co gdzie powstawiac :) i w inputach pokazuje mi wszystkie polskie znaki.
W załączniku dodaje zrodlo + formularz w PHP mam nadzieje ze sie to komuś przyda :)

Ogólnie jest super z takim szczegółem ze jak mail dociera nie ma liter "ą" i "ź" i nie mam już pomysłu jak to obejść, plik PHP jest kodowany UTF-8 i dalej nie pokazuje tych znaków.Moze ktoś mądrzejszy wpadnie na rozwiązanie. Proszę o pomoc, w załaczniku zródło i cała reszta :)

mielu - Wto 18 Sie, 2009 09:06

ElectricPl napisał/a:
Ogólnie jest super z takim szczegółem ze jak mail dociera nie ma liter "ą" i "ź" i nie mam już pomysłu jak to obejść, plik PHP jest kodowany UTF-8 i dalej nie pokazuje tych znaków.Moze ktoś mądrzejszy wpadnie na rozwiązanie. Proszę o pomoc, w załaczniku zródło i cała reszta :)


brak strony kodowej w pliku php

ElectricPl - Wto 18 Sie, 2009 12:17

Dałem kodowanie i znikneły kompletnie polskie znaki.
Nie wiem juz co robic.

Kod:
<?php

$name = $HTTP_POST_VARS['Name'];
$tele = $HTTP_POST_VARS['Tele'];
$email = $HTTP_POST_VARS['Email'];
$miasto = $HTTP_POST_VARS['Miasto'];
$gatunek = $HTTP_POST_VARS['Gatunek'];
$ilosc = $HTTP_POST_VARS['Ilosc'];
$uwagi = $HTTP_POST_VARS['Uwagi'];
$krajowy = $HTTP_POST_VARS['Krajowy'];
$mozaika = $HTTP_POST_VARS['Mozaika'];
$deski = $HTTP_POST_VARS['Deski'];
$egzotyczne = $HTTP_POST_VARS['Egzotyczne'];
$bambusowe = $HTTP_POST_VARS['Bambusowe'];
$modyfikowane = $HTTP_POST_VARS['Modyfikowane'];
$wielowarstwowe = $HTTP_POST_VARS['Wielowarstwowe'];
$ozdobne = $HTTP_POST_VARS['Ozdobne'];

$name = stripslashes($name);
$tele = stripslashes($tele);
$email = stripslashes($email);
$miasto = stripslashes($miasto);
$gatunek = stripslashes($gatunek);
$ilosc = stripslashes($ilosc);
$uwagi = stripslashes($uwagi);
$krajowy = stripslashes($krajowy);
$mozaika = stripslashes($mozaika);
$deski = stripslashes($deski);
$egzotyczne = stripslashes($egzotyczne);
$bambusowe = stripslashes($bambusowe);
$modyfikowane = stripslashes($modyfikowane);
$wielowarstwowe = stripslashes($wielowarstwowe);
$ozdobne = stripslashes($ozdobne);


$rec_email = "electric23@o2.pl"; // do kogo email
$subject = "Formularz ze strony"; // temat emaila

//zbieranie i wyswietlanie danych
$msg_body .= "Zapytanie wygenerowane ze strony internetowej\n";
$msg_body .= "\n\n";
$msg_body .= "*****************************************\n";
$msg_body .= "Imie i Nazwisko:  $name\n";
$msg_body .= "Numer telefonu:  $tele\n";
$msg_body .= "E-mail:  $email\n";
$msg_body .= "Miejscowosć:  $miasto\n";
$msg_body .= "*****************************************\n";
$msg_body .= "Rodzaj produktu:\n";
$msg_body .= "1:  $krajowy\n";
$msg_body .= "2:  $mozaika\n";
$msg_body .= "3:  $deski\n";
$msg_body .= "4:  $egzotyczne\n";
$msg_body .= "5:  $bambusowe\n";
$msg_body .= "6:  $modyfikowane\n";
$msg_body .= "7:  $wielowarstwowe\n";
$msg_body .= "8:  $ozdobne\n";
$msg_body .= "*****************************************\n";
$msg_body .= "Dodatkowe informacje\n";
$msg_body .= "*****************************************\n";
$msg_body .= "Gatunek drewna:  $gatunek\n";
$msg_body .= "Przewidywana ilosć:  $ilosc m2\n";
$msg_body .= "Dodatkowe zapytania, uwagi:  $uwagi\n";
$msg_body .= "*****************************************\n";

//$header_info = "Od: ".$name." <".$email.">";
$header_info = "FROM: Zapytanie ze strony Parkiet Komplex <$email>\r\n";
$header_info .= "Content-type: text/plain; charset=utf-8\r\n";
mail($rec_email, $subject, $msg_body, $header_info);

?>


Powered by phpBB modified by Przemo © 2003 phpBB Group