我有一個HTML表單,用戶應該可以爲給定問題添加其他文本框。但在任何文本輸入之前,都有一個下拉菜單選擇,在每次選擇後文本框都變得可見(也取決於選擇,可見文本框計數更改)。這裏是javascript;javascript htcontents不能在html中正確顯示
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');'/>
,因爲這個問題,並field2-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>
等..現在清楚了嗎?
哪裏' display()函數? – ManseUK 2012-02-23 12:01:56
是不是在這裏看起來:P這是一個非常混亂的處理方式,這就是爲什麼在jQuery中附加一個單擊事件處理程序,並在同一個js文件中做所有事情都比這更好。 – 2012-02-23 12:21:09