|
|
|
| Здравствуйте. Подскажите, как в JavaScript обратится к элементу формы,
если элементы загружаются динамически и имеют имена txt[0] txt[1]...txt[n]
Функция
<script language='JavaScript1.1' type='text/javascript'>
<!--
function tag(i, text1, text2)
{
if ((document.selection))
{
document.frm.txt[0].focus();
document.frm.document.selection.createRange().text = text1+document.frm.document.selection.createRange().text+text2;
} else document.frm.txt[0].value += text1+text2;
}
//-->
</script>
|
php загружает текстовое поле и элемент рядом с ним. Елемент с событием onclick, где в функцию передаются
переменная $i- порядковый номер поля и два тега. В общем функция не воспринимает имена полей в виде txt[n]
<?php
for ($i=0; $i<5; $i++)echo "<input name=txt[$i] type='text' >
<a href=# onClick=\"tag($i,'<i>', '</i>');\">
<font color=#808080><b>I</b></font></a><br>";
?>
|
В общем функция не воспринимает имена полей в виде txt[n] | |
|
|
|
|
|
|
|
для: shest
(13.01.2007 в 15:16)
| | document.frm.elements[0] - обращение к элементу
по порядковому номеру.
Или создавайте JS массив из нужных полей.
window.onload = function()
{
var fel = document.frm.elements;
document.frm.txt = [];
for(var i=0;i<fel.length;i++)
{
var el = fel[i];
if(el.type == 'text' && /txt\[/.test(el.name))document.frm.txt.push(el);
}
}
|
| |
|
|
|
|
|
|
|
для: RMW
(13.01.2007 в 21:48)
| | Это не называется динамически для клиента, динамически - когда через JS создаётся.
По теме - обращаются к полям с такими именами через
document.getElementsByTagName('...[2]')[0] (ноль в конце важен), или
document.frm['...[2]'] | |
|
|
|
|
|
|
|
для: 12345
(14.01.2007 в 00:09)
| | Большое спасибо. | |
|
|
|