добавление элемента формы
а как реализуется добавление элемеента формы, например нужно еще добавить, если не хватило одного и т.д.?
|
могу предложить следующий вариант. внутри формы создайте
<div id="div1"></div> для вставки туда например текстового поля напишите следующее:
document.getElementById('div1').innerHTML='<input type="text" name="text1" value="Введите ваш почтовый индекс" />';
Я привел "любительский метод", он не является примером профессионала. На самом деле делается это через DOM. |
Задача в том, чтобы добавить инпут со следующим значением индекса (num_1) после того как введется 11 символов в текущем, и т.д.
гляньте, почему не срабатывает.
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<title>Документ без имени</title>
<script type="text/javascript">
function add_tr(){
var i = window.event.srcElement.name.length;
if (i == 11)
{
var j = substr(window.event.srcElement.name, 4);
j ++;
var num = document.createElement("<input type='text' name='num_"+j+"' onchange='javascript:add_tr();' />");
document.body.insertBefore(num);
}
}
</script>
</head>
<body>
<input type="text" name="num_0" onchange="javascript:add_tr();" />
</body>
</html>
|
Пример:
<script type="text/javascript">
function add_input(o){
var inp2 = document.getElementById( 'input_2' );
if ( o.value.length < 11 ){
if ( inp2 == null || inp2.style.display == 'none' ) return;
inp2.style.display = 'none';
} else {
if ( inp2 != null && inp2.style.display != 'none' ) return;
if ( inp2 == null ){
inp2 = document.createElement( 'input' );
inp2.type = 'text';
inp2.name = 'input_2';
inp2.id = 'input_2';
document.getElementById( 'myForm' ).appendChild( inp2 );
}
inp2.style.display = 'block';
}
}
</script>
<form action="#" id="myForm">
<input type="text" name="input_1" onkeyup="add_input(this);" />
</form>
Создается новый input, хотя можно просто уже существующий display = none / block. |
| Часовой пояс GMT +3, время: 19:40. |