Просмотр полной версии : Работа с текстом
master_dik
12.06.2003, 00:01
Доброе время суток...
Итак, у нас есть функция, которая обрабатывает текстовое поле. Можно ли передать имя текстового поля, которое мы будем обрабатывать или же указывать можно только константой? Если можно передавать имя поля в переменной, то как обращаться к нему из функции. Надеюсь, что вопрос задан корректно. Заранее спасибо.
llllllllll
12.06.2003, 00:11
Ни хрена не понял, в чем сложности ...
function setTextFieldText(aTextField,aText){
aTextField.text = aText;
}
setTextFieldText(myTextField,"blablabla");
master_dik
12.06.2003, 00:26
все замечательно, но представьте себе ф-ю, которая загружает текст из файла
-------------------------------
function loadText (fileName, fileVar) {
}
где fileName - это имя файла,
а fileVar - это имя текстового поля...
так вот, можно ли в переменной fileVar передавать имя текстового поля, куда будет грузиться текст.
llllllllll
12.06.2003, 00:30
Можно :)
function loadText (fileName, fileVar) {
...
}
Только "..." должно быть довольно содержательным =) ... по завершении загрузки данных передать их текстовому полю =)
master_dik
12.06.2003, 15:00
ок, содержание там есть...
млин... когда мы передаем функции какую-то переменную fileVar, ф-я рассматривает ее сразу как имя текстового поля и такая запись не проходит:
_root.fileVar = this.content;
где this.content - текст, который мы грузим...
еще раз... можно ли как-нить это обойти... т.е. чтобы текст грузился не в текстовое поле с именем fileVar, а в поле, имя которого содержится в этой переменной (fileVar)
Боюсь сморозить но может this[fileVar] или eval(fileVar)?
master_dik
12.06.2003, 16:02
млин... eval не помогает, а если и помогает, то я не пойму как... там косяк... в строку с присваиванием вставлять ее нельзя... идет ошибка
"Left side of assignment operator must be variable or property."
...
llllllllll
12.06.2003, 16:12
Ну, хорошо (хотя ничего хорошего) ...
Вот так можно (а вообще тут постов на эту тему до ****)
function loadText(aFileName,aTextFieldName){
var tempLoadVars;
tempLoadVars = new LoadVars();
tempLoadVars.load(aFileName);
tempLoadVars.onLoad = function(success){
if(success){
aTextFieldName.text = unescape(this);
}
}
}
loadText("message.txt",myTextField);
// myTextField - имя поля, естественно ...
master_dik
12.06.2003, 16:59
Спасибо всем, кто ответил... но мне нужно было всего лишь написать следующую строчку :
set(textVar,this.content);
.....................
и передавать имя текстового поля в кавычках...
loadText("m_p.txt","Text");
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.