私は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>
とを見て、今あることは明らかですか?
があるべきである、ManseUKが提案するものに非常に近くに来ました ' display() '関数? – ManseUK
ここではそうではありません:Pそれは非常に扱いにくいので、jqueryでクリックイベントハンドラをアタッチし、同じjsファイル内のすべてを実行するのがこれよりも優れています。 –