-1

この内部 HTML スクリプトが機能しない理由がわかりません。JavaScriptをjsFiddleに投稿しました。ここで見ることができます:http://jsfiddle.net/JyV73/1/

リンクには 2 つのバージョンがあります。最初の書き換えリンクは、閉じる必要があるポップアップ内にあり、テキストエリア内の適切なテキストで別のポップアップが開かれます。

2 番目の例では、ページにリンクがあり、それをクリックするとテキストエリア内に適切なテキストが表示されたポップアップが開くはずです。

唯一の問題は、ポップアップを閉じる必要があるため、2 番目のバージョンでは機能しないことです。最初にコメントアウトするとdocument.getElementById(id).style.display = 'none'、プレーンリンクが機能するため、最初に考えたのは2つの関数を作成することです. しかし、このJavaScriptは含まれているphpテンプレートファイルの一部であるため、純粋なjavascriptを使用してこれを解決する方がphpコードで簡単になると思います。

私はまだjavascriptを学んでいます。助けていただければ幸いです。私がはっきりしていたことを願っています。どうもありがとう。

HTML

<a href="#popup" rel="popup">open</a>

<div id="popup" class="popup"> <a href="#new" rel="popup" onClick="rewrite('popup', 'blah')">Rewrite</a>

</div>
<div id="new" class="popup">
    <textarea id="new-text"></textarea>
</div>
<!-- This is the stuff that doesnt work for some reason <a href="#new" rel="popup"         onClick="rewrite('popup', 'blah')">Rewrite</a>

<div id="new" class="popup">
<textarea id="new-text"></textarea>
</div>
-->

Javascript

function rewrite(id, text) {
    document.getElementById(id).style.display = 'none';
    document.getElementById('new-text').innerHTML = text;
}
4

2 に答える 2

0

設定したいテキストボックスの属性なのでに変更document.getElementById('new-text').innerHTML = text;しました。document.getElementById('new-text').value = text;value

また、ID を持つページ上の各要素には一意の ID が必要です (ある時点で ID を再利用しようとしていたようですが、間違っているかもしれません!)

あなたが何を達成しようとしているのかはまだ正確にはわかっていませんが、それらの変更は何があっても行う必要がありました.

ただし、このコードは 2 番目の目標を達成するのに十分です: http://jsfiddle.net/JyV73/19/

テキストボックスへの書き込みを行うために、「開く」リンクにonClick属性 ( )を追加しました。onClick="rewrite('popup', 'blah')":)

于 2013-04-25T20:17:42.700 に答える