У меня есть HTML-форма, пользователь должен иметь возможность добавлять другие текстовые поля для данного вопроса.но перед любым вводом текста есть выпадающее меню, текстовые поля становятся видимыми после каждого выбора (также зависит от выбора, видимого изменения количества текстовых полей).вот javascript;
var var1=1;
function addAffiliation(){
var newArea = addNew();
var htcontents ="<input placeholder='categories..'
class='input_box' type='textbox' name='categories[]'
onchange='display(this, 'field2', 'field3', 'field4');'/>"
+ "<br/><br/>";
document.getElementById(newArea).innerHTML = htcontents;
}
function addNew() {
var1=var1+1;
var var2 = document.getElementById('area');
var newdiv = document.createElement('div');
var divIDName = 'Div #'+ var1;
newdiv.setAttribute('id',divIDName);
ni.appendChild(newdiv);
return divIDName;
}
, но при добавлении дополнительного поля вместо;
<input placeholder="categories.."
class="input_box" type="textbox" name="categories[]"
onchange="display(this, 'field2', 'field3', 'field4');"/>
это создается (неправильное расположение в двойных кавычках)
<input placeholder="categories.."
class="input_box' type="textbox" name="categories[]"
onchange="display(this, "field2', 'field3', 'field4');'/>
и из-за этой проблемы поле 2-3-4 не видно ..
что делать?
вот функция отображения
function display(obj,id1,id2,id3) {
txt = obj.options[obj.selectedIndex].value;
document.getElementById(id1).style.display = 'none';
document.getElementById(id2).style.display = 'none';
document.getElementById(id3).style.display = 'none';
if ( txt.match(id1) ) {
document.getElementById(id1).style.display = 'block';
}
if ( txt.match(id2) ) {
document.getElementById(id2).style.display = 'block';
}
if ( txt.match(id3) ) {
document.getElementById(id3).style.display = 'block';
}
}
@ Aram,
Я хочу иметь раскрывающееся меню;
<option name="first">selection 1</option>
<option name="second">selection 2</option>
, если пользователь выбирает выбор 1;
field1:< input name="field1".....>
field2:< input name="field2".....>
, если пользователь выбирает выбор 1;
field3:< input name="field3".....>
field4:< input name="field4".....>
field5:< input name="field5".....>
когда пользователь заканчивает заполнять поля, он может захотеть добавить еще;
addReference();
, затем он снова видит,
<option name="first">selection 1</option>
<option name="second">selection 2</option>
и так далее ... это ясно?сейчас?