Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Вебмастеру (http://forum.oszone.net/forumdisplay.php?f=22)
-   -   js имя объекта из переменной, как? (http://forum.oszone.net/showthread.php?t=46396)

E-mail 08-03-2005 00:27 304448

js имя объекта из переменной, как?
 
неработает:

<script>
function title_limit(col)
{
ztext=document.forms[0].x1.value;
col.innerHTML=ztext.length;
limit=80;
if (ztext.length>limit)
alert ('Вы превысили предел');
}
-->
</script>

<form>
<input id=x1 type=text onkeypress=title_limit('max1')> <b><font id=max1>0</font>
</form>

-----------
почему?
-----------
по идее в col содержится имя объекта max1 как написать правельно ссылку на объект используя данные пришедшие в переменную col?

Prisoner 08-03-2005 02:53 304480

Возможно, что лучше так:
Код:

<script>
function title_limit(col)
{
ztext=document.forms[0].x1.value;
document.getElementById(col).innerHTML=ztext.length;
limit=80;
if (ztext.length>limit)
alert ('Вы превысили предел');
}
-->
</script>

<form>
<input id=x1 type=text onkeypress=title_limit('max1')> <b><font id=max1>0</font>
</form>

max1 это не объект, это его id. Сам объект еще нужно получить. Чуточку внимательнее.

E-mail 08-03-2005 03:27 304486

Prisoner а вот это опять не работает((


<script>

function title_limit(col)
{
ztext=document.forms[0].x1.value;
document.getElementById(col).innerHTML=ztext.length;
limit=80;
if (ztext.length>limit)
alert ('Вы превысили предел');
}

function add()
{
col=document.forms[0].count.value;
col++;
inp.innerHTML+="<input id=x1 type=text onkeypress=title_limit('max"+col+"')> <b><font id=max"+col+">0</font></b>
}

</script>

<button onclick=add()>Добавить</button>

<form>
<input id=x1 type=text onkeypress=title_limit('max1')> <b><font id=max1>0</font>
<font id=inp></font>
</form>

slaine 08-03-2005 12:26 304542

E-mail, а что должно произойти?

Prisoner 09-03-2005 11:25 304781

Код:

<html>
<head>
<title></title>
</head>

<body>
<script>

function title_limit(col)
{
ztext=document.getElementById('x'+col).value;
document.getElementById('max'+col).innerHTML=ztext.length;
limit=80;
if (ztext.length>limit)
alert ('Вы превысили предел');
}

function add()
{
col=document.forms[0].length;
col++;
document.getElementById('inp').innerHTML+='<input id=x'+col+' type=text onkeypress=title_limit('+col+')> <b><font id=max'+col+'>0</font></b>';
}

</script>

<button onclick=add()>Добавить</button>

<form>
<input id=x1 type=text onkeypress=title_limit(1)> <b><font id=max1>0</font>
<font id=inp></font>
</form>
</body>
</html>

Под IE6 пашет. У меня вопрос: когда будем пытаться сделать элементарные вещи самостоятельно? У тебя даже строка неверно заканчивается в твоем коде. Этого-то не заметить? :(

E-mail 09-03-2005 20:48 305001

Prisoner
я лутше сделал.

когда на форуме появится замок для закрытия темы кто ее начал?

mar 09-03-2005 21:03 305007

E-mail
Цитата:

я лутше сделал.
и как? :)
Цитата:

когда на форуме появится замок для закрытия темы кто ее начал?
надеюсь, что никогда. Темы могут быть интересны и вновьприбывшим, тогда они развиваются вне зависимости от желания первого автора

E-mail 09-03-2005 22:44 305037

ну раз уж тему подняли у меня другой вопрос, как изобразить чтобы происходило действие обратное добавить - убавить?

Prisoner 11-03-2005 10:04 305560

А точно так же. Или посмотри в сторону DOM: методы parentNode, removeChild и, конечно же, getElementById.

E-mail 12-03-2005 01:24 305943

Prisoner точно так же??
насколько точно?

Prisoner 13-03-2005 10:27 306287

Используя innerHTML. Только стоит преобразовать логику - выкладывать создаваемые элементы в ячейки таблицы или div'ы для ссылки на уникальный объект, являющийся предком для создаваемого. Тогда предок.innerHTML = '' и все. Дальше развивать идею не буду - у меня приступы самокритики когда кто-то делает что-то лучше меня ;).

archy 14-03-2005 12:49 306572

Prisoner
Обманывает он нас тут всех, так и не показал свои хитрости... :)

E-mail 14-03-2005 17:11 306650

archyя тоже так думаю)
Prisoner += это тебе не -= :)

E-mail 15-03-2005 07:22 306828

archy
собственно хитрости появились когда я написал еще пару-тройку функций,
пример приводить небыло смысла поскольку от изначального варианта значительно отличается.
одно хорошо видно, метод this замечательно передает ссылки на объекты :)


Время: 00:30.

Время: 00:30.
© OSzone.net 2001-