Динамично добавяне на input

icog

Registered
Някой може ли да ми помогне.
Искам потребителите ми като изберат нещо от
<select
веднага след slect-а да се показва <input type=text....
Примерно

<select name='name'><option value='1' selected='selected'>1</option>
Да излиза веднага прозорче след този код 1: <input type=text...
а
<option value='2'>2</option>
да излиза веднага 2: <input type=text...
мисля че това става с ajax но си нямам на идея какав трябва да е кода.
Някой ако може да ми помогне...
 
Ами, не. Става лесно:
На селект-а добавяш
<select onChange="syzdai_input(this)">
След селект-а добавяш един див, в който ще ти се показва инпут-а:
Код:
<div id="input_holder"></div>
След това в <head> секцията на сайта ти добавяш това:
Код:
<script>function syzdai_input(select){
var text = select.value;
var holder = document.getElementById('input_holder');
var input = document.createElement('input');
input.setAttribute('type', 'text');
input.setAttribute('size', 18 );
holder.innerHTML += '<br> ' + text + ': ';
holder.appendChild(input);
}</script>
Би трябвало да работи. Не съм го тествал :)
 
Мерси за отговора но нестава :(
начи това onChange="syzdai_input(this)" би трябвало да го сложа в
<option защото примерно при option 1 да ми излиза input с едно име
а при option две да излиза input с друго име
пробах да го сложа там
нестава нищо
 
Като го сложиш това на option-а, няма да стане нищо, както и да го въртиш. Обясни, от къде искаш да го взима това име. :)
 
начи хабер си няям от ajax така че недете ми са смя на следния пример...


<select name="name" >
<option onChange="input1">1</option>
<option onChange="input2">2</option>
</select>

и като избера 1 след </select веднага да се покаже
"1: <input type=text name=1>"
или ако избера 2 след </select да се покаже
"2: <input type=text name=2> "
 
Може би така
Код:
		 function add_input(where,value) {
			 if (value != 0) { document.getElementById(where).innerHTML = value + ': <input type="text" name="' + value + '" value="" />'; }
		 }

и си правиш един селект , нещо от сорта на
<select name="select1" onChange="add_input('inputs',this.options[this.selectedIndex].value);">
<option value="0">Избор</option>
<option value="1">Добави поле</option>
<option value="2">Добави поле</option>
</select> <br />
<span id="inputs"></span>
 
Първо, защо някой ще ти се смее? :idea:
Това не го бях срещал досега. Ако ти трябва нещо, питаш. Няма значение какво е (освен ако не противоречи на правилата).

Сега по скрипта:
В <head> си слагаш това:
Код:
<script>function syzdai_input(select){
var text = select.value; // взимаме избраната опция
var holder = document.getElementById('input_holder'); // взимаме див-а в който ще се показват инпутите
var input = document.createElement('input'); //създаваме новият инпут
input.setAttribute('type', 'text'); //задаваме типът да е текст
input.setAttribute('size', 18 ); //задаваме размера на инпута
input.setAttribute('name', text ); //задаваме името на инпута да е избраната опция 
holder.innerHTML += '<br> ' + text + ': '; //слагаме нов ред и добавяме избраната опция и двуеточие
holder.appendChild(input); //слагаме инпут-а на края на див-а
}</script>

В <body> Това:
Код:
<select onChange="syzdai_input(this)"> 
<option value="1">Опция 1</option>
<option value="2">Опция 2</option> 
</select><br><div id="input_holder"></div>
Ако нещо не ти е ясно, питай :?:

ПП. Това не е аякс. Това е прост джаваскрипт.Аякс се използва за връзка между заредена в браузъра страница и страница на сървъра, без да се налага страницата в браузъра да бъде презаредена.
Виж уроците, има 2-3 урока за аякс на Админ. Добри са :)
 
мда мда мда точно туи е цаката мерси много и на двамата.
Сега ако успея да го и интегрирам да стане както искам ще е супер
 
да ва питам последно нещо :) тъй като имам малак проблем с интеграцията
ако value е 1 == текст1
ако value е 2 == текст2
и после пак с div или span да изкарам текста кадето искам в самата страница
 

Back
Горе