PDA

Показать полную графическую версию : js имя объекта из переменной, как?


E-mail
08-03-2005, 00:27
неработает:

<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
Возможно, что лучше так:
<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
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
E-mail, а что должно произойти?

Prisoner
09-03-2005, 11:25
<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
Prisoner
я лутше сделал.

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

mar
09-03-2005, 21:03
E-mail
я лутше сделал.
и как? :)
когда на форуме появится замок для закрытия темы кто ее начал?
надеюсь, что никогда. Темы могут быть интересны и вновьприбывшим, тогда они развиваются вне зависимости от желания первого автора

E-mail
09-03-2005, 22:44
ну раз уж тему подняли у меня другой вопрос, как изобразить чтобы происходило действие обратное добавить - убавить?

Prisoner
11-03-2005, 10:04
А точно так же. Или посмотри в сторону DOM: методы parentNode, removeChild и, конечно же, getElementById.

E-mail
12-03-2005, 01:24
Prisoner точно так же??
насколько точно?

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

archy
14-03-2005, 12:49
Prisoner
Обманывает он нас тут всех, так и не показал свои хитрости... :)

E-mail
14-03-2005, 17:11
archyя тоже так думаю)
Prisoner += это тебе не -= :)

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




© OSzone.net 2001-2012