Gå til innhold

[Løst]Legge til tekst i tekstfelt


Anbefalte innlegg

Videoannonse
Annonse

Du vil at om du trykker a i tekstboksen skal feks. setningen "alle dyr er like, men noen er mer like enn andre" dukke opp, trykker du b skal "Bruce Willis er best i Die Hard 1" dykke opp?

 

Kode som gjør det over:

<script>
function checkFeild(obj){
switch(obj.value){
	case 'a':
		obj.value = 'Alle dyr er like, men noen er mer like enn andre';
		break;
	case 'b':
		obj.value = 'Bruce Willis er best i Die Hard 1!';
		break;
	default:
	break;
}
}
</script>
<textarea onkeyup="checkFeild(this)"></textarea>

Endret av cbastus
Lenke til kommentar
Du vil at om du trykker a i tekstboksen skal feks. setningen "alle dyr er like, men noen er mer like enn andre" dukke opp, trykker du b skal "Bruce Willis er best i Die Hard 1" dykke opp?

 

Kode som gjør det over:

<script>
function checkFeild(obj){
switch(obj.value){
	case 'a':
		obj.value = 'Alle dyr er like, men noen er mer like enn andre';
		break;
	case 'b':
		obj.value = 'Bruce Willis er best i Die Hard 1!';
		break;
	default:
	break;
}
}
</script>
<textarea onkeyup="checkFeild(this)"></textarea>

 

Ja takk. Tenkte noke i den retning.

Men eg ønsker å sette inn teksten uten å fjerne den teksten som står i textaerea fra før.

Ønsker at teksten skal bli satt inn der den blinkande markøren er.

Lenke til kommentar

Nada granada problemos, kompis :)

 

function addText(text) {

textbox = document.getElementById("text");

textbox.value += text;

}

 

I praksis:

 

<textarea id="text"></textarea>

 

<a href="java script:addText('tekst som skal legges til'); title="legg til tekst">Legg til tekst</a>

 

Funksjonen kan du legge i en functions.js-fil som du automatisk henter i headeren din slik:

 

 

<html>

<head>

<title>Tittel</title>

<script src="/functions.js" type="text/javascript"></script>

</head>

 

 

Om det er mer du lurer på, skyt i vei :)

Lenke til kommentar
Nada granada problemos, kompis :)

 

function addText(text) {

textbox = document.getElementById("text");

textbox.value += text;

}

 

I praksis:

 

<textarea id="text"></textarea>

 

<a href="java script:addText('tekst som skal legges til'); title="legg til tekst">Legg til tekst</a>

 

Funksjonen kan du legge i en functions.js-fil som du automatisk henter i headeren din slik:

 

 

<html>

<head>

<title>Tittel</title>

<script src="/functions.js" type="text/javascript"></script>

</head>

 

 

Om det er mer du lurer på, skyt i vei :)

 

Ja då var eg eit skritt nermere.

 

Men fungerer fortsatt ikkje heilt sånn som eg ønsker.

Trenger å sette inn tekst på ein bestemt plass i tekstboksen.

Viss det står tekst der fra før og eg setter markøren mellom to ord så vil eg teksten skal komme der markøren står.

 

Slik som på forumet her. Viss du ønsker feit skrift så trukker du "b" knappen. Då setter den inn skrift der teksmarkøren står.

 

Skjønner?

Lenke til kommentar

 

Takker. Der var løysinga på problemet.

Her er koden som blei lysinga.

 

	<script type="text/javascript">

	function insertAtCaret(obj, text) {
	if(document.selection) {
		obj.focus();
		var orig = obj.value.replace(/\r\n/g, "\n");
		var range = document.selection.createRange();

		if(range.parentElement() != obj) {
			return false;
		}

		range.text = text;

		var actual = tmp = obj.value.replace(/\r\n/g, "\n");

		for(var diff = 0; diff < orig.length; diff++) {
			if(orig.charAt(diff) != actual.charAt(diff)) break;
		}

		for(var index = 0, start = 0; 
			tmp.match(text) 
				&& (tmp = tmp.replace(text, "")) 
				&& index <= diff; 
			index = start + text.length
		) {
			start = actual.indexOf(text, index);
		}
	} else if(obj.selectionStart) {
		var start = obj.selectionStart;
		var end   = obj.selectionEnd;

		obj.value = obj.value.substr(0, start) 
			+ text 
			+ obj.value.substr(end, obj.value.length);
	}

	if(start != null) {
		setCaretTo(obj, start + text.length);
	} else {
		obj.value += text;
	}
}

function setCaretTo(obj, pos) {
	if(obj.createTextRange) {
		var range = obj.createTextRange();
		range.move('character', pos);
		range.select();
	} else if(obj.selectionStart) {
		obj.focus();
		obj.setSelectionRange(pos, pos);
	}
}
</script>

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...