Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: условие
 
 автор: Alexx   (23.07.2005 в 19:35)   письмо автору
 
 

подскажите пример по яве и вообще возможно ли такое.

вообщем есть меню
<form name="form1" method="post" action="">
<select name="select">
<option selected> сколько разделов </option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="...">...</option>
</select>
</form>

при выборе 1 должно появляться 1 текстовое поле для ввода
при выборе 2 должно появляться 2 текстовых поля для ввода
и т.д.
как это зделать ?

   
 
 автор: Crux   (23.07.2005 в 23:14)   письмо автору
 
   для: Alexx   (23.07.2005 в 19:35)
 

да, такое возможно сделать на JavaScript-е
для этого мспользуется модель W3C DOM (советую найти литературу по этому поводу и почитать)

вот небольшой пример:

<html>
<head>
<script language="JavaScript">
function add_input_text()
    {
    var str=""
    k=document.form1.kol_select.selectedIndex
    if(k>0)
        {
        for(var j=0;j<k;j++)
            {
            var newElem=document.createElement("input")
            newElem.setAttribute("type","text")
            newElem.setAttribute("name","name_"+j)
            document.body.appendChild(newElem)
            }

        }
    }
</script>
</head>

<body>
<form name="form1" method="post" action="">
<select name="kol_select" onchange="add_input_text()">
<option selected>сколько разделов</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
</form>

</body>
</html>

   
 
 автор: Alexx   (25.07.2005 в 23:37)   письмо автору
 
   для: Crux   (23.07.2005 в 23:14)
 

всё работает единственное чуть чуть не то когда выбираешь одно текстовое поле оно появляеться когда выбераешь два поля то к первому поля прибавляеться ещё 2 поля :) как удалитть ненужное?

   
 
 автор: Crux   (26.07.2005 в 20:32)   письмо автору
 
   для: Alexx   (25.07.2005 в 23:37)
 

на самом деле это я привёл просто для примера...


<html> 
<head> 
<script language="JavaScript"> 
function add_input_text() 
    { 
    del()
    var str="" 
    k=document.form1.kol_select.selectedIndex 
    if(k>0) 
        { 
        for(var j=0;j<k;j++) 
            { 
            var newElem=document.createElement("input") 
            newElem.setAttribute("type","text") 
            newElem.setAttribute("name","name_"+j) 
            document.getElementById("for_input_text").appendChild(newElem) 
            } 
        } 
    } 
function del()
    {
    var elem=document.getElementById("for_input_text")
    elem.parentNode.removeChild(elem)
    var newElem=document.createElement("span") 
    newElem.setAttribute("id","for_input_text")
    document.body.appendChild(newElem) 
    }
</script> 
</head> 

<body> 
<form name="form1" method="post" action=""> 
<select name="kol_select" onchange="add_input_text()"> 
<option selected>&#241;&#234;&#238;&#235;&#252;&#234;&#238; &#240;&#224;&#231;&#228;&#229;&#235;&#238;&#226;</option> 
<option value="1">1</option> 
<option value="2">2</option> 
<option value="3">3</option> 
</select> 
</form> 
<span id="for_input_text">

</span>
</body> 
</html> 


хотя здесь есь свои маленькие ньюансы...

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования