Ich habe den folgenden HTML-Code (die in mehreren Dateien abgelegt wird), die in einem Textfeld einen ausgewählten/geklickt Smiley fügt:JavaScript Smiley-Funktion nicht den Smiley innerhalb der entsprechenden Textarea platzieren?
<a href="javascript:insertTheSmiley(':)');void(0)"><img src="images/smile.gif" alt=":)" title=":)" /></a>
<!-- this is a link to open a popup listing all smilies (see smilies.html to see what it contains) -->
<a href="#" onClick="window.open('smilies.html', 'Smilies', 'width=250,height=500,scrollbars=1');">Show all smilies</a>
<textarea id="textarea" cols="60" rows="10" style="width: 100%"></textarea>
<a href="javascript:insertTheSmiley(':)');void(0)"><img src="images/smile.gif" alt=":)" title=":)" /></a>
<!-- this is a link to open a popup listing all smilies (see smilies.html to see what it contains) -->
<a href="#" onClick="window.open('smilies.html', 'Smilies', 'width=250,height=500,scrollbars=1');">Show all smilies</a>
<textarea id="textarea" cols="60" rows="10" style="width: 100%"></textarea>
Die smilies.html den folgenden HTML enthält:
<a href="javascript:putTheSmiley(':)');void(0)"><img src="images/smile.gif" alt=":)" title=":)" /></a>
und die verwendeten JavaScript-Funktionen sind:
<script>
function insertTheSmiley(input) {
document.getElementById('textarea').value += input;
}
function putTheSmiley(input) {
window.opener.insertTheSmiley(input);
}
</script>
Was ich beabsichtige, denn es ist der ausgewählte/geklickt smiley in den entsprechenden statt zu tun Textarea, derzeit (als Beispiel) wenn ich auf den zweiten Smiley - Link klicke (sowie in die smilies.html), plaziert es den Smiley innerhalb des ersten Textfelds, aber ich möchte, dass es innerhalb des zweiten eingefügt wird (was ist das? beachte das Passende) - das ist nur ein Beispiel, um mein Problem zu veranschaulichen.
Ich vermute es ist ein Problem mit der Element-ID, ist ihre Art, dies zu automatisieren oder eine Abhilfe, wie ich viele Forum-Software dies tun gesehen habe?
Heres ein Gedanke (die nicht zu funktionieren scheinen):
<script>
function insertTheSmiley(input, id) {
global id;
document.getElementById(id).value += input;
}
function putTheSmiley(input) {
global id;
window.opener.insertTheSmiley(input, id);
}
</script>
Vielen Dank für die Antwort, ich habe die insertTheSmiley() -Funktion bearbeitet, und es in meine erste Frage aufgenommen, könnten Sie nehmen Sie an, was ich falsch gemacht habe? – Newbtophp
@Newbtophp: loswerden der 'globalen ID;' in der Funktion. –