Просмотр полной версии : Вопрос по текстовым полям
BlackChuvak
24.06.2003, 03:48
Можно ли (если да, то как) сделать так:
Есть 2 поля (input & dynamic).
В input пишем:kjh6gslhg6s6dsgrh.
При нажатие на кнопку в динамическом поле пишется 666 (т.е. цифры из первого блока)??? :confused:
YuriiZelenev
24.06.2003, 06:11
Mojno...
Prosto pri najaie na knopku analiziruesh text v input-pole filtruesh ot tuda tolko ciferki i prisvaivaesh rezultat dynamicheskomu polyu... Vot i vse..
BlackChuvak
25.06.2003, 01:50
Ага, а как это сделать???
YuriiZelenev
25.06.2003, 04:36
Zahodish v flash, jmesh CTRL-N (tem samim sozdaesh novoie okoshko/document flasha)
Jelatelno ustanavlivaesh cvet backgrounda na kakoinibud temnii...
Pishesh nije privedenii kod v pervom kadre
i poluchaesh v tochnosti chto ti hotel :D
// Sozdaem prototyp funcii
String.prototype.extractNumbers = function() {
var i, l = this.length, t = false, r = "";
for (i=0; i<l; i++) {
if (isNaN(this.charAt(i)) == t) {
r += this.charAt(i);
}
}
return Number(r);
};
// Zadaem nachalnii text (eto neobezatelno)
MY_STRING = "kjh3gslhg3s3dsgrh";
// Sozdaem Kontur Knopochki + eye MC
_root.createEmptyMovieClip("knopochka", 1);
with (_root.knopochka) {
lineStyle(0, 0xffff00, 100);
moveTo(200, 145);
lineTo(300, 145);
lineTo(300, 180);
lineTo(200, 180);
lineTo(200, 145);
}
// Sozdaem nazvanie knopochki
knopochka.createTextField("dtf01", 3, 250, 145, 1, 1);
knopochka.dtf01.selectable = false;
knopochka.dtf01.background = false;
knopochka.dtf01.border = false;
knopochka.dtf01.textColor = 0xFFFFFF;
knopochka.dtf01.autoSize = "center";
knopochka.dtf01.text = "Najmi na etu"+newline+"Knopku!!!";
// Sozdaem ten' nazvaniya knopochki
knopochka.createTextField("dtf02", 2, 251, 146, 1, 1);
knopochka.dtf02.selectable = false;
knopochka.dtf02.background = false;
knopochka.dtf02.border = false;
knopochka.dtf02.textColor = 0x000000;
knopochka.dtf02.autoSize = "center";
knopochka.dtf02.text = "Najmi na etu"+newline+"Knopku!!!";
// Sozdaem pole status
_root.createTextField("dtf03", 4, 250, 100, 1, 1);
_root.dtf03.selectable = false;
_root.dtf03.background = true;
_root.dtf03.backgroundColor = 0xb9cad6;
_root.dtf03.border = true;
_root.dtf03.borderColor = 0x466479;
_root.dtf03.textColor = 0x000000;
_root.dtf03.autoSize = "center";
_root.dtf03.text = "zdes poyavitsa rezultat";
// Sozdaem pole input
_root.createTextField("itf01", 5, 250, 50, 1, 1);
_root.itf01.type = "input";
_root.itf01.background = true;
_root.itf01.backgroundColor = 0xb9cad6;
_root.itf01.border = true;
_root.itf01.borderColor = 0x466479;
_root.itf01.textColor = 0x000000;
_root.itf01.autoSize = "center";
_root.itf01.text = MY_STRING;
// Pri najatie na kopochku - zapuskaem funciyu vidiraniya cifirok i podstavlyaem rezultat v Dynamic Text Filed 03
knopochka.onRelease = function() {
etextractNums = _root.itf01.text.extractNumbers();
dtf03.text=etextractNums;
};
za 8 minut napisal...
ps: A voobshe nabuduyushie - prosto pochitay help ot fasha, popitaysya sam doiti... (namnogo polezney tebe-je budet).
EDIT:
PPS: Tolko dlya FLASH MX!
YuriiZelenev
25.06.2003, 12:35
gm..
koneshno eto vse mojno optimizirovat...
YuriiZelenev
25.06.2003, 15:48
Ti hot skaji.... - pomoglo li?
DeliMIter
25.06.2003, 16:14
Ой, нельзя так людей смешить... Я чуть не помер...
У динамического текстового поля можно эмбеддить (свойства текстового поля в режиме дизайна) не все символы, а, скажем, только цифры, тогда при присвоении такому текстовому полю строки "324wetwer435etg45" отобразятся ТОЛЬКО цифры: "32443545". Проще надо быть, проще ;)))
YuriiZelenev
25.06.2003, 22:36
2DeliMIter: izvini ;) moey celyu nebilo - tebya smeshit..
Ya prosto v tochnosti otvetil na konkretnii vopros "Ага, а как это сделать???".
У динамического текстового поля можно эмбеддить (свойства текстового поля в режиме дизайна) не все символы
mojno zdelat i programno s pomoshyu "TextField.restrict"...
Delo v tom chto, to chto ti govorish - ne est to chto on hotel... :D
On hotel:
Есть 2 поля (input & dynamic).
В input пишем:kjh3gslhg3s3dsgrh.
При нажатие на кнопку в динамическом поле пишется 333
tak ya - tak i zdelal :D :D :D
V principe mojno zdelat i tvoim sposobom... primerno tak:
knopochka.onRelease = function() {
input_t.text=dynamic_t_restricted.text;
};
/* gde "input_t" - inputTextField v kotorom mojno pechatat vse chto ugodno */
/*a "dynamic_t_restricted - dynamicTextFiled" - v kotorom embendeni tolko ciferki..*/
no vozrastet razmer konechnovo faila iz za shriftov....
ps:V lubom slucahe ispolzovat prototype - vsegda luchshe! tak kak evo mojno uzat uzat i uzat - do beskonechnosti.. i ne gemoroetsa napisaniem tuchi odnoobraznovo skushnovo koda......
pps:Sha poidu potestu oba sposoba na proizvoditelnost...
BlackChuvak
26.06.2003, 04:15
Спасибо, YuriiZelenev, вроде разобрался.
YuriiZelenev
26.06.2003, 04:29
da nezashto ;)
DeliMIter
26.06.2003, 12:03
Рестрикт, между прочим, действует именно на поля ввода, а не на простые динамик филды. А тут нужно бы наоборот. Короче, в аттаче исходник, работающий ВООБЩЕ без скрипта. Как я уже говорил, надо быть проще.
YuriiZelenev
27.06.2003, 12:41
tak on je hotel pri najatie na knopku :D
ladno, priderayus! :D
---
a vot skaji mne DeliMIter kak ti zdelaesh tvoim sposobom..
esli eto nujno premenit k dynamicheski sozdanim textfieldam?
a?
a vdrug mne nado zdelat eto s 10 text fieldami ?
i vo vse budet postupat raznaya data...
chto ti budesh delat'? ;)
ps:jdu otveta :D
DeliMIter
27.06.2003, 19:21
Напишу функцию на уровне прототипа текстового поля, и получу что-ньть вроде свойства TextField._filter; и функции TextField.filter(sourcetext); , работающих наподобие рестрикта или эмбеда, но для любых динамических полей. Так будет работать хоть с сотней каких угодно, надизайненых, наскриптованных...
Ну что, мне пять по экзамену :D :D ?
YuriiZelenev
27.06.2003, 19:30
прототипа текстового поля
eto - vryadli tak poluchitsa...
skoree string!
i ...
nu da ladno 5+ tebe vseravno postavlyu! ;)
DeliMIter
29.06.2003, 16:42
Мне, плз, экзамен автоматом и освобождение от диплома. В аттаче - исходник с примером ;).
YuriiZelenev
03.07.2003, 12:55
ekzamen - pridetca zdovat!
Ti vseravno string izpolzuesh! (charAt) :p
i u tebya gromozdko...
zdes vseravno luchshe :D
String.prototype.extractNumbers = function() {
var i, l = this.length, t = false, r = "";
for (i=0; i<l; i++) {if (isNaN(this.charAt(i)) == t) {
r += this.charAt(i);}} return Number(r);};
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.