Avatar billede th1 Nybegynder
06. januar 2005 - 21:30 Der er 15 kommentarer og
1 løsning

Klikke på smilies

Hejsa Eksperter

Jeg har en gæstebog hvor den understøtter smilies :)  men jeg vil gerne have at når man skriver sin besked så har man alle de smilies  hvor man kan klikke på dem og så kommer der i boxen for eksempel :D når man trykker på en meget glad smilies

håbber nogen har én løsning på det

på forhånd tak

mvh th1
Avatar billede webcreator Nybegynder
06. januar 2005 - 21:36 #1
Du kan benytte følgende script :

<!-- skovenborg.frac.dk -->
<script type="text/javascript">

var cursorpos;   
function insertText(frmElm,text,fokus) {
   
    if (cursorpos && typeof cursorpos.start == "number") { // For Mozilla     
        frmElm.value = frmElm.value.substring(0,cursorpos.start)+text+frmElm.value.substring(cursorpos.end);
        if (fokus) {
            frmElm.setSelectionRange(cursorpos.end+text.length,cursorpos.end+text.length);
            frmElm.focus();
        }
    } else if (cursorpos && cursorpos.range) { // For IE
        r = cursorpos.range;
        r.text = text;
        if (fokus) {frmElm.focus();}
    } else { // For everyone else
        frmElm.value += text;
        if (fokus) {frmElm.focus();}
    }
   
}

function storeCaretPos(frmElm) {
    if (typeof frmElm.selectionEnd == "number") {
        cursorpos = {start:frmElm.selectionStart,end:frmElm.selectionEnd}
    } else if (document.selection) {
        cursorpos = {range:document.selection.createRange().duplicate()}
    } else;
   
}

</script>

<a href="#" onclick="insertText(this.form.content,':-D',true);return false;">Indsæt meget glad smiley</a>
Avatar billede th1 Nybegynder
06. januar 2005 - 21:48 #2
dette er mit script:

<html>

<head>
<script type="text/javascript">

var cursorpos;   
function insertText(frmElm,text,fokus) {
   
    if (cursorpos && typeof cursorpos.start == "number") { // For Mozilla     
        frmElm.value = frmElm.value.substring(0,cursorpos.start)+text+frmElm.value.substring(cursorpos.end);
        if (fokus) {
            frmElm.setSelectionRange(cursorpos.end+text.length,cursorpos.end+text.length);
            frmElm.focus();
        }
    } else if (cursorpos && cursorpos.range) { // For IE
        r = cursorpos.range;
        r.text = text;
        if (fokus) {frmElm.focus();}
    } else { // For everyone else
        frmElm.value += text;
        if (fokus) {frmElm.focus();}
    }
   
}

function storeCaretPos(frmElm) {
    if (typeof frmElm.selectionEnd == "number") {
        cursorpos = {start:frmElm.selectionStart,end:frmElm.selectionEnd}
    } else if (document.selection) {
        cursorpos = {range:document.selection.createRange().duplicate()}
    } else;
   
}

</script>

<LINK href="scoll1.css" type=text/css rel=stylesheet>
<meta http-equiv="Content-Language" content="da">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Iceo.dk v3</title>
</head>

<body>

<form name="form1" method="get" action="opdater.php">


Skriv en besked
<br>
<table width="250" border="0">
<tr>
  <td>Navn:     </td>
  <td><input type="text" name="navn"> </td></tr>
<tr>
  <td>E-mail:     </td>
  <td><input type="text" name="email"> </td>
</tr>
<tr><td>www:     </td><td><input type="text" value="http://"  name="www"> </td></tr>
<tr>
  <td colspan="2">Besked:     <br>
<textarea cols="35" rows="4" name="besked"></textarea>
<br><br><input type="submit" value="Send">
<a href="#" onclick="insertText(this.form.content,':D',true);return false;"><img src="smilie/icon_biggrin.gif" height="15" width="15" border="0"></a>     


</td></tr>


</table>

<p>
<a target="frame" href="../laes.php">Læs</a></p>

</form>
</body>

</html>



jef har prøvet selv at indsætte smilien med uden held :(
Avatar billede mixeren Nybegynder
07. januar 2005 - 00:36 #3
<a href="#" onclick="insertText(this.form.content,':D',true);return false;">

Skal tilpasses navnene på din formular. Altså skal du skifte "this.form.content" ud med navn på formular og navn på tekstfelt.

Dette burde virke:
<a href="#" onclick="insertText(form1.besked,':D',true);return false;">
Avatar billede th1 Nybegynder
07. januar 2005 - 16:18 #4
well jeg vil gerne have at i begge to svarer fordi "webcreator" var så venlig i hensyn meå scriptet  og "mixeren" nu virker


Takker være jer begge to :)
Avatar billede mixeren Nybegynder
07. januar 2005 - 16:35 #5
Giv du bare th1 dem. :-)
Avatar billede th1 Nybegynder
07. januar 2005 - 17:20 #6
måske i kunne hjælpe med en ting mere

jeg har et Nyheds system

jeg har tilføet de smilies til men der kommer fejl på line: 29

her er koden

<script type="text/javascript">

var cursorpos;   
function insertText(frmElm,text,fokus) {
   
    if (cursorpos && typeof cursorpos.start == "number") { // For Mozilla     
        frmElm.value = frmElm.value.substring(0,cursorpos.start)+text+frmElm.value.substring(cursorpos.end);
        if (fokus) {
            frmElm.setSelectionRange(cursorpos.end+text.length,cursorpos.end+text.length);
            frmElm.focus();
        }
    } else if (cursorpos && cursorpos.range) { // For IE
        r = cursorpos.range;
        r.text = text;
        if (fokus) {frmElm.focus();}
    } else { // For everyone else
        frmElm.value += text;
        if (fokus) {frmElm.focus();}
    }
   
}

function storeCaretPos(frmElm) {
    if (typeof frmElm.selectionEnd == "number") {
        cursorpos = {start:frmElm.selectionStart,end:frmElm.selectionEnd}
    } else if (document.selection) {
        cursorpos = {range:document.selection.createRange().duplicate()}
    } else;
   
}

</script>
</head>

<body>
<form name="nyhed" action="nyhed.php?opret=ok" method="post">

User: <input name="user" type="text"><br />

Pass: <input name="pass" type="password"><br />

Emne: <input name="emne" type="text"><br />

Nyhed: <textarea name="nyhed" rows=5 cols=20></textarea><br />
<p>&nbsp;</p>
<table border="0" width="10%" id="table1">
        <tr>
            <td width="20">
<a href="#" onclick="insertText(nyhed.emne,':D',true);return false;">
            <img src="../smilie/icon_biggrin.gif" height="15" width="15" border="0"></a></td>
            <td width="19"><a href="#" onclick="insertText(nyhed.emne,':o',true);return false;">
            <img src="../smilie/icon_surprised.gif" height="15" width="15" border="0"></a></td>
            <td width="20"><a href="#" onclick="insertText(nyhed.emne,':tw',true);return false;">
            <img src="../smilie/icon_twisted.gif" height="15" width="15" border="0"></a></td>
            <td><a href="#" onclick="insertText(nyhed.emne,';)',true);return false;">
            <img src="../smilie/icon_wink.gif" height="15" width="15" border="0"></a></td>
        </tr>
        <tr>
            <td width="20"><a href="#" onclick="insertText(nyhed.emne,':)',true);return false;">
            <img src="../smilie/icon_smile.gif" height="15" width="15" border="0"></a></td>
            <td width="19"><a href="#" onclick="insertText(nyhed.emne,':(',true);return false;">
            <img src="../smilie/icon_sad.gif" height="15" width="15" border="0"></a></td>
            <td width="20"><a href="#" onclick="insertText(nyhed.emne,':re',true);return false;">
            <img src="../smilie/icon_rolleyes.gif" height="15" width="15" border="0"></a></td>
        </tr>
        <tr>
            <td width="20"><a href="#" onclick="insertText(nyhed.emne,':f',true);return false;">
            <img src="../smilie/icon_redface.gif" height="15" width="15" border="0"></a></td>
            <td width="19"><a href="#" onclick="insertText(nyhed.emne,':r',true);return false;">
            <img src="../smilie/icon_razz.gif" height="15" width="15" border="0"></a></td>
            <td width="20"><a href="#" onclick="insertText(nyhed.emne,'?',true);return false;">
            <img src="../smilie/icon_question.gif" height="15" width="15" border="0"></a></td>
        </tr>
        <tr>
            <td width="20"><a href="#" onclick="insertText(nyhed.emne,':|',true);return false;">
            <img src="../smilie/icon_neutral.gif" height="15" width="15" border="0"></a></td>
            <td width="19"><a href="#" onclick="insertText(nyhed.emne,':[',true);return false;">
            <img src="../smilie/icon_mad.gif" height="15" width="15" border="0"></a></td>
            <td width="20"><a href="#" onclick="insertText(nyhed.emne,':l',true);return false;">
            <img src="../smilie/icon_lol.gif" height="15" width="15" border="0"></a></td>
        </tr>
        <tr>
            <td width="20"><a href="#" onclick="insertText(nyhed.emne,':i',true);return false;">
            <img src="../smilie/icon_idea.gif" height="15" width="15" border="0"></a></td>
            <td width="19"><a href="#" onclick="insertText(nyhed.emne,'!',true);return false;">
            <img src="../smilie/icon_exclaim.gif" height="15" width="15" border="0"></a></td>
            <td width="20"><a href="#" onclick="insertText(nyhed.emne,':e',true);return false;">
            <img src="../smilie/icon_evil.gif" height="15" width="15" border="0"></a></td>
        </tr>
        <tr>
            <td width="20"><a href="#" onclick="insertText(nyhed.emne,':¨',true);return false;">
            <img src="../smilie/icon_eek.gif" height="15" width="15" border="0"></a></td>
            <td width="19"><a href="#" onclick="insertText(nyhed.emne,':cr',true);return false;">
            <img src="../smilie/icon_cry.gif" height="15" width="15" border="0"></a></td>
            <td width="20"><a href="#" onclick="insertText(nyhed.emne,':8',true);return false;">
            <img src="../smilie/icon_cool.gif" height="15" width="15" border="0"></a></td>
            <td width="34"><a href="#" onclick="insertText(nyhed.emne,':s',true);return false;">
            <img src="../smilie/icon_confused.gif" height="15" width="15" border="0"></a></td>

        </tr>
    </table>
<input type="submit" value="Poste">

</form>


dette er line 29:        if (fokus) {frmElm.focus();}
 
dette er fejl meddelsen: 'undefined' is null or not an object



på forhånd tak

mvh th1
Avatar billede mixeren Nybegynder
07. januar 2005 - 17:40 #7
Den kan sikkert ikke finde ud af det fordi både din form og dit textarea hedder "nyhed".
Avatar billede mixeren Nybegynder
07. januar 2005 - 17:47 #8
Du har sat onclick="insertText(nyhed.emne

Det vil sige at den forsøger at sætte smileyen ind i emnet, det er vel ikke meningen?
Avatar billede th1 Nybegynder
07. januar 2005 - 18:27 #9
jo jeg vil gerne have at de skal ind i emne ;)
Avatar billede th1 Nybegynder
07. januar 2005 - 18:29 #10
ubs  i kæmpe fejl  self skla det  ind i nyhed
Avatar billede mixeren Nybegynder
07. januar 2005 - 18:32 #11
Weird.. ;-)

Så ville jeg prøve at ændre
textarea name="nyhed"
Til noget andet.

Fejl meddelsen "dette er fejl meddelsen: 'undefined' is null or not an object" er præcis den samme som der var i den anden. Så det her et eller andet med navngivningen at gøre.

Nu er der store huller i min javascript viden, så det kan tænkes at det kan give problemer at sætte tekst ind i et input felt.
Avatar billede th1 Nybegynder
07. januar 2005 - 18:33 #12
men jeg har lavet det nu  ændrede bare navnet fra form="nyhed" til nyhed 1  men du skal have mange tak  og læg lige venligst et svar sð kan du få dine point 

mvh th1
Avatar billede mixeren Nybegynder
07. januar 2005 - 18:34 #13
Når der krydsede vi lige hinnanden.

Så skal du sikkert bare sørge for at du ikke giver din formular samme navn som textfeltet.
Avatar billede mixeren Nybegynder
07. januar 2005 - 18:36 #14
Dejligt det virker. :-)
Avatar billede th1 Nybegynder
07. januar 2005 - 18:48 #15
ja takker være dig og Webcreator :) :P
Avatar billede th1 Nybegynder
07. januar 2005 - 18:48 #16
lukker
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester