Kære gæst, velkommen til Tweak.dk. Hvis dette er dit første besøg her, bør du læse Hjælp. Her forklares i detaljer hvordan denne side fungerer. For at benytte alle funktionerne på denne side, bør du overveje at lade dig registrere. Benyt venligst registreringsformularen for at registrere her eller læs yderligere information om registreringsprocessen. Hvis du allerede er registreret, så log på her.

1

tirsdag, 10. oktober 2006, 14:58


Hej

Jeg søger en function ala den her på tweak hvor man trykker på smileyen og så skriver den automatisk hvad den hedder her i text-vinduet (her hvor jeg skriver) fx " : drink : " uden mellemrum self, altså: :drink:

Indtil videre har jeg det her:

<img src="img/smileys/biggrin.gif" alt="Big Grin" title="Big Grin" border="0" onclick="smiley(':Big Grin:');" onmouseover="this.style.cursor='hand';" />

Men nu mangler jeg bare en function noget ligende det her:

function smiley(text) {
var txtarea = document.form.beskrivelse;
text = ' ' + text + ' ';
if (txtarea.createTextRange && txtarea.caretPos) {
var caretPos = txtarea.caretPos;
caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? caretPos.text + text + ' ' : caretPos.text + text;
txtarea.focus();
} else {
txtarea.value += text;
txtarea.focus();
}
}

Problemet ved den her function er bare at den altid skriver "smiley-navnet" til sidst og ikke der hvor man sætter sin cursor

Bar smid nogle forslag :)

På forhånd tak...

Lehn

2

tirsdag, 10. oktober 2006, 15:14


Lidt javascript kode er aldrig ad vejen, da browserne tolker ting lidt forskelligt som altid er vi nødt til at tjekke for IE og mozilla/gecko engine, hvis ingen understøttelse smider vi bare smileyen ind til slut i feltet

Kildekode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
function smiley(txt) {
	var txtarea = document.forms['form'].elements['beskrivelse']; //dit textarea
	if (!txtarea) { //fang fejl 
		alert('Feltet findes ikke'); 
	} else {
		/* Først tager vi hensyn til IE - document.selection er IE specifik */
		if (document.selection) {
			txtarea.focus(); //sæt fokus til feltet
			var valgt = document.selection.createRange(); //lav en selektion i feltet
			valgt.text = txt; //sæt teksten ind
		}
		/* Gecko */ 
		else if (txtarea.selectionStart) {
			var start = txtarea.selectionStart; //start af selection
			var slut = txtarea.selectionEnd;//slut
			txtarea.value = txtarea.value.substring(0, start)+ txt+ txtarea.value.substring(slut, txtarea.value.length);//sæt den ind imellem start og slut
		} else { /* hvis ingen understøttelse, eller cursoren ikke er placeret, smid smiley i slutningen 

*/
			txtarea.value += txt;//tilføj i enden
		}
	}
}


Håber det kan bruges

Dette indlæg er blevet redigeret 1 gange, senest redigeret af "WebT" (10.10.2006, 15:16)


3

tirsdag, 10. oktober 2006, 16:07


Citeret

Originally posted by WebT
Lidt javascript kode er aldrig ad vejen, da browserne tolker ting lidt forskelligt som altid er vi nødt til at tjekke for IE og mozilla/gecko engine, hvis ingen understøttelse smider vi bare smileyen ind til slut i feltet

Kildekode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
function smiley(txt) {
	var txtarea = document.forms['form'].elements['beskrivelse']; //dit textarea
	if (!txtarea) { //fang fejl 
		alert('Feltet findes ikke'); 
	} else {
		/* Først tager vi hensyn til IE - document.selection er IE specifik */
		if (document.selection) {
			txtarea.focus(); //sæt fokus til feltet
			var valgt = document.selection.createRange(); //lav en selektion i feltet
			valgt.text = txt; //sæt teksten ind
		}
		/* Gecko */ 
		else if (txtarea.selectionStart) {
			var start = txtarea.selectionStart; //start af selection
			var slut = txtarea.selectionEnd;//slut
			txtarea.value = txtarea.value.substring(0, start)+ txt+ txtarea.value.substring(slut, txtarea.value.length);//sæt den ind imellem start og slut
		} else { /* hvis ingen understøttelse, eller cursoren ikke er placeret, smid smiley i slutningen 

*/
			txtarea.value += txt;//tilføj i enden
		}
	}
}


Håber det kan bruges


Så nice :D virker perfekt ;) Mange tak, har bakset med det hele aftenen i går uden at få det til at virke og så er det kun en "tråd" væk :rules:

Du kan se tagwallen her www.diox.dk når jeg får det op at køre senere ;)

Lehn

Nyeste Videoer og Trailers

Partner sider
Indsend nyhed
Har du fundet en fed nyhed så indsend den så alle andre på Tweak.dk kan få glæde af den.