私はこれを機能させようとしてきましたが、比較的簡単だと思っていましたが、JavaScript で div をターゲットにすることができません。
ボックスのリストが必要で、それぞれがクリック可能になり、それぞれに非表示のバディがあります。をクリックすると、入力ボックスを持つバディが非表示になり、表示されます。必要なテキストを入力して [OK] を押すと、入力したテキストを表示する元の状態に戻ります。
ヘッドには次のものが含まれます。
<head>
<script language="javascript">
var state = 'none';
function showhide(layer_ref) {
if (state == 'block') {
state = 'none';
}
else {
state = 'block';
}
if (document.all) { //IS IE 4 or 5 (or 6 beta)
eval( "document.all." + layer_ref + ".style.display = state");
}
if (document.layers) { //IS NETSCAPE 4 or below
document.layers[layer_ref].display = state;
}
if (document.getElementById &&!document.all) {
hza = document.getElementById(layer_ref);
hza.style.display = state;
}
}
</script>
そして、私のHTMLには以下が含まれています:
<div id="div0">
<a href="#" onclick="showhide('div1');" style="text-decoration:none;">
<div style="width:200px; height:30px; background-color:grey;color:white">
Input: <div id="showinput"></div>
</div>
</a>
</div>
<div id="div1" style="display:none;">
<div style="width:200px; height:30px; background-color:grey;color:white">
<input type="text id="addInput" /">
<input type="submit" value="submit" name="submit" onclick="showhide('div1');" />
</div>
</div>
以下を追加しようとしていますが、オリジナルは更新されず、スクリプトはバディ div をオリジナルの下に表示するだけです。同時にオリジナルを非表示にするにはどうすればよいですか?
var myobj = document.getElementById("addInput");
var mytext = myobj.value;
document.getElementById("showinput").innerHTML = mytext;