Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Как убрать информационный текст с textinput или area? (http://www.flasher.ru/forum/showthread.php?t=143054)

Vikky 06.08.2010 01:33

Как убрать информационный текст с textinput или area?
 
Здравствуйте!

Прошу помощи!
Есть textinput, компонет такой, или как он называется...
У него в параметрах можно выставить информационный текст, что бы так сказать указать что сюда нужно вписывать.
Так вот это сделано очень неудобно, так как приходится в готовой свфке стирать этот текст... Можно ли сделать так что бы он исчезал при нажатии???

Поиском пользовалась!
Просидела пол дня, нашла наиболее подходящую тему, но по той инструкции что там есть не смогла сдеать как не пыталась...
http://www.flasher.ru/forum/showthread.php?t=130914

Вот код...

Код AS1/AS2:

stop();
 
var oSubmitListener:Object = new Object();
var lvSenderLoad:LoadVars = new LoadVars();
var lvReceiveLoad:LoadVars = new LoadVars();
 
btnSend.addEventListener("click", oSubmitListener);
 
oSubmitListener.click = function(evt:Object):Void
{
        lvSenderLoad.userName = ctiName.text;
        lvSenderLoad.userEmail = ctiEmail.text;
        lvSenderLoad.userMessage = ctaMessage.text;
        lvSenderLoad.sendAndLoad("send_mail.php", lvReceiveLoad);
        trace("посылаем " + ctaMessage.text);
};
 
lvReceiveLoad.onLoad = function(bSuccess:Boolean):Void
{
        if(bSuccess) {
                trace(this.isSentOK);
                this.isSentOK ? gotoAndStop("success") : gotoAndStop("failed");
        } else {
                trace("не удалось получить ответ от сервера");
        }
}


Спасибо за то что прочитали!

alexcon314 06.08.2010 11:51

Попробуйте так:
Код AS1/AS2:

stop();
ctiName.addEventListener("focusIn", this);
ctiEmail.addEventListener("focusIn", this);
ctiMessage.addEventListener("focusIn", this);
function focusIn(e:Object) {
        e.target.text = "";
}
var oSubmitListener:Object = new Object();
var lvSenderLoad:LoadVars = new LoadVars();
var lvReceiveLoad:LoadVars = new LoadVars();
btnSend.addEventListener("click", oSubmitListener);
oSubmitListener.click = function(evt:Object):Void  {
        lvSenderLoad.userName = ctiName.text;
        lvSenderLoad.userEmail = ctiEmail.text;
        lvSenderLoad.userMessage = ctaMessage.text;
        lvSenderLoad.sendAndLoad("send_mail.php", lvReceiveLoad);
        trace("посылаем " + ctaMessage.text);
};
lvReceiveLoad.onLoad = function(bSuccess:Boolean):Void  {
        if (bSuccess) {
                trace(this.isSentOK);
                this.isSentOK ? gotoAndStop("success") : gotoAndStop("failed");
        } else {
                trace("не удалось получить ответ от сервера");
        }
};


Vikky 06.08.2010 16:40

Я пока не до конца понимаю как это работает...
Но оно работает!!!

СПАСИБО!!!

Vikky 12.08.2010 12:00

Уважаемый alexcon314!!!

Подскажите пожалуйста, возможно ли сделать так, что бы название возвращалось на место, если ничего не введено?
Понимаю это сложно наверное....

То есть у меня в форме около 30 полей, человек вполне может забыть какое он собрался заполнять... Может перескочить с поля на поле а потом забыть что там было....

alexcon314 12.08.2010 12:16

Вот так, наверно:
Код:

stop();
var defaultColor = 0xFFBBBB;
var normalColor = 0;

ctiName.setStyle("color", defaultColor);
ctiEmail.setStyle("color", defaultColor);
ctiMessage.setStyle("color", defaultColor);

ctiName.addEventListener("focusIn", this);
ctiEmail.addEventListener("focusIn", this);
ctiMessage.addEventListener("focusIn", this);

ctiName.addEventListener("focusOut", this);
ctiEmail.addEventListener("focusOut", this);
ctiMessage.addEventListener("focusOut", this);

function focusIn(e:Object) {
        var tf = e.target;
        if (!tf.defaultText) {
                tf.defaultText = tf.text;
                tf.text = "";
        }
        t.setStyle("color",normalColor);

}
function focusOut(e:Object) {
        var tf = e.target;
        if (tf.text == "") {
                tf.text = tf.defaultText;
                tf.setStyle("color", defaultColor);
        }
}
var oSubmitListener:Object = new Object();
var lvSenderLoad:LoadVars = new LoadVars();
var lvReceiveLoad:LoadVars = new LoadVars();
btnSend.addEventListener("click", oSubmitListener);
oSubmitListener.click = function(evt:Object):Void  {
        lvSenderLoad.userName = ctiName.text;
        lvSenderLoad.userEmail = ctiEmail.text;
        lvSenderLoad.userMessage = ctaMessage.text;
        lvSenderLoad.sendAndLoad("send_mail.php", lvReceiveLoad);
        trace("посылаем " + ctaMessage.text);
};
lvReceiveLoad.onLoad = function(bSuccess:Boolean):Void  {
        if (bSuccess) {
                trace(this.isSentOK);
                this.isSentOK ? gotoAndStop("success") : gotoAndStop("failed");
        } else {
                trace("не удалось получить ответ от сервера");
        }
};


Vikky 12.08.2010 16:45

:eek:

Работает!!

Спасибо большое!!! :yahoo:

Единственное что после одного цикла (нажал, отжал) оно возвращает обратно без в работу без функций. То есть приходится стирать вручную что там написано в ячейке по умолчанию. Но это мелочь, так работае ШИКАРНО! Мало того, еще и с цветом можно поиграться.... ))) :D:victory::yahoo:

alexcon314 12.08.2010 16:56

Ну, добавьте строчку:
Код:

function focusIn(e:Object) {
        var tf = e.target;
        if (!tf.defaultText) {
                tf.defaultText = tf.text;
                //tf.text = "";
        }
if(tf.text == tf.textDefault)tf.text = "";
        t.setStyle("color",normalColor);

}



Часовой пояс GMT +4, время: 04:49.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.