11. juli 2004 - 17:43Der er
30 kommentarer og 1 løsning
Indsæt der hvor curseren er!?
Jeg har nu fået lavet smileys til mit mailsystem. Problemet er, at når man trykker på smileyen, så indsættes fx :) men til sidst i boksen, kan man ikke få den til at indsættes der hvor curseren er, altså den der følger med når man skriver?
JEg kan tydeligt se hvor det er galt, men kan ikke se hvordan det skal ændres!
Samtidig hvordan får man en hånd som curser når du flytter over en smiley?
Støv, fibre og metalliske partikler kan påvirke både uptime, levetid og driftssikkerhed. Derfor arbejder flere datacentre systematisk med contamination control.
det med hånden er godt nok ikke lige med. Men du kan prøve: <td width="45" height="40" style="cursor:pointer;cursor:hand;"><img src='http://www.friendscommunity.1go.dk/smileys/pil.gif' onclick='document.getElementById("besked").value +="*p*"' ; width="15" height="15">
nåda, troede ellers det stod klart nok (selvom det ser lidt rodet ud). Men du kan se et eksempel fra koden: <form> <textarea name="felt" cols="30" rows="5" onfocus="fokus = true;" onblur="fokus = false;">Her er noget tekst i et textarea</textarea> <input type="button" value=":-)" onmousedown="insertText(this.form.felt,':-)');" onmouseup="this.form.felt.focus();mozPlaceCursor(this.form.felt);" /> </form> og så ellers brug den javascript-kode som står på siden.
du skal jo have det hele med: var fokus = false; // Required in the insertText function - used because of IE var cursorpos; // Required for mozPlaceCursor /** * Inserts text in a form-element * @param frmElm A form-element, for instance a textarea * @param text A string with the text which should be inserted */ function insertText(frmElm,text) { if (frmElm.selectionEnd != undefined) { cursorpos=frmElm.selectionStart+text.length; frmElm.value = frmElm.value.substring(0,frmElm.selectionStart)+text+frmElm.value.substring(frmElm.selectionEnd); } // For mozilla else if (document.selection && fokus) {r = document.selection.createRange();r.text = text;} // For IE else frmElm.value += text; // For everyone else } /** * Places the cursor in a certain position. * The variable cursorpos is required * Mozilla only (or other gecko-browsers) * @param frmElm The form-element */ function mozPlaceCursor(frmElm) { if (frmElm.selectionEnd != undefined && cursorpos != undefined) { frmElm.setSelectionRange(cursorpos,cursorpos); } }
var fokus = false; // Required in the insertText function - used because of IE var cursorpos; // Required for mozPlaceCursor /** * Inserts text in a form-element * @param frmElm A form-element, for instance a textarea * @param text A string with the text which should be inserted */ function insertText(frmElm,text) { if (frmElm.selectionEnd != undefined) { cursorpos=frmElm.selectionStart+text.length; frmElm.value = frmElm.value.substring(0,frmElm.selectionStart)+text+frmElm.value.substring(frmElm.selectionEnd); } // For mozilla else if (document.selection && fokus) {r = document.selection.createRange();r.text = text;} // For IE else frmElm.value += text; // For everyone else } /** * Places the cursor in a certain position. * The variable cursorpos is required * Mozilla only (or other gecko-browsers) * @param frmElm The form-element */ function mozPlaceCursor(frmElm) { if (frmElm.selectionEnd != undefined && cursorpos != undefined) { frmElm.setSelectionRange(cursorpos,cursorpos); } } //--> </script> </head> <form> <textarea name="felt" cols="30" rows="5" onfocus="fokus = true;" onblur="fokus = false;">Her er noget tekst i et textarea</textarea> <input type="button" value=":-)" onmousedown="insertText(this.form.felt,':-)');" onmouseup="this.form.felt.focus();mozPlaceCursor(this.form.felt);" /> </form>
for at sætte fokus i feltet igen bagefter - men du kan godt fjerne dem hvis du ikke synes det er nødvendigt. Fandt faktisk en fejl i scriptet i IE5, så du skal skrive: var fokus = false; // Required in the insertText function - used because of IE var cursorpos; // Required for mozPlaceCursor /** * Inserts text in a form-element * @param frmElm A form-element, for instance a textarea * @param text A string with the text which should be inserted */ function insertText(frmElm,text) { if (typeof frmElm.selectionEnd == "number") { cursorpos=frmElm.selectionStart+text.length; frmElm.value = frmElm.value.substring(0,frmElm.selectionStart)+text+frmElm.value.substring(frmElm.selectionEnd); } // For mozilla else if (document.selection && fokus) {r = document.selection.createRange();r.text = text;} // For IE else frmElm.value += text; // For everyone else } /** * Places the cursor in a certain position. * The variable cursorpos is required * Mozilla only (or other gecko-browsers) * @param frmElm The form-element */ function mozPlaceCursor(frmElm) { if (typeof frmElm.selectionEnd == "number" && cursorpos != undefined) { frmElm.setSelectionRange(cursorpos,cursorpos); } }
hov, tror jeg ved hvad du mener. Det virker ikke her pga. this.form som ikke virker på billeder, da de ikke er direkte en del af nogen form. Så derfor skal du skrive: <img src="billede.png" onmousedown="insertText(document.forms[0].felt,':-)');" onmouseup="document.forms[0].felt.focus();mozPlaceCursor(document.forms[0].felt);" />
eller i stedet for forms[0] kan du godt erstatte det med form-navnet (hvis du fx har flere forms på siden)
men undskyld den lange ventetid... har jo andre gøremål en gang i mellem ;-)
Synes godt om
Ny brugerNybegynder
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.