---
title: "Skicka markerad sträng till söksida"
type: "forum-thread"
url: "https://www.webforum.nu/amne/javascript/96704-skicka-markerad-sträng-till-söksida"
topic: "JavaScript"
topic_url: "https://www.webforum.nu/amne/javascript"
author: "Winelover"
published: "2004-02-06T11:21:38.000Z"
updated: "2004-04-01T05:52:50.000Z"
replies: 15
views: 510
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/javascript/96704-skicka-markerad-sträng-till-söksida"
---

# Skicka markerad sträng till söksida

## #1 — Winelover, 2004-02-06T11:21Z

Hej.

Jag undar om det finns ngt script som kan skicka markerad sträng till en söksida med ett kortkommando, typ ctrl+q.

Det jag är ute efter är att användaren skall kunna markera ett ord/mening och markerad dito skall skickas till asp-sidan med markeringen som ingående variabel. Post eller get spelar ingen roll.

Går det att lösa?

Jag är inte så jättehaj på javascript så ett exempel mottages tacksamt.

Permalänk: https://www.webforum.nu/p/96704

## #2 — dectgap, 2004-02-06T11:48Z

Titta här:
<http://www.daltonlp.com/daltonlp.cgi?item_type=1&item_id=77>

Permalänk: https://www.webforum.nu/p/1270060

## #3 — Winelover, 2004-02-06T13:33Z

Det ser lovande ut. Får se om jag kan mickla med koden så att den väljer min sida istället.

Mången tack

Permalänk: https://www.webforum.nu/p/1270146

## #4 — Peter S, 2004-02-06T13:40Z

Välkommen till webforum!

Här har du en version som jag tror du är ute efter; använd ctrl+x för att skicka den markerade textsträngen vidare:

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

document.onkeydown = function(e) {
    var txt = "";

    if ( typeof window.event != "undefined" && typeof document.selection != "undefined" && typeof document.selection.createRange != "undefined" ) {
	if ( window.event.ctrlKey && window.event.keyCode == 88 )
	    txt = document.selection.createRange().text;
    }

    else if ( typeof e != "undefined" && typeof window.getSelection != "undefined" ) {
	if ( e.ctrlKey && e.keyCode == 88 )
	    txt = window.getSelection();
    }

    if ( txt != "" ) location.href = "sida.asp?text=" + txt;
}

</script>
```

 :)

Permalänk: https://www.webforum.nu/p/1270150

## #5 — Winelover, 2004-02-12T11:16Z

Kalas, funkar utmärkt.

Går det att skicka användare till olika sidor mha kortkommandon utan markering på sidan?

Om ngn undrar -\> Ja, min användargrupp är jävligt lata :)

Permalänk: https://www.webforum.nu/p/1276614

## #6 — Jesper T, 2004-02-12T11:46Z

```
<script>
document.onkeydown = function() {
if (window.event.keyCode==81){
location.href = "http://www.google.se"; // : Q
	}
if (window.event.keyCode==87){
location.href = "http://www.webforum.nu"; // : W
	}
if (window.event.keyCode==69){
location.href = "http://www.sj.se"; // :E
	}

}
</script>
```

 Vill du att man skall använda ctrl-tangenten först så lägger du till:

```
if ([b]window.event.ctrlKey &&[/b] window.event.keyCode==81){
...
```

Permalänk: https://www.webforum.nu/p/1276630

## #7 — dectgap, 2004-02-12T11:58Z

Och med en enkel förändring kan man få ditt skript, **Jesper T** att fungera i Netscape/Mozilla också:

```
<script type="text/javascript">
document.onkeydown = function(e) {
    var e = window.event || e;
    if (e.keyCode==81){
        location.href = "http://www.google.se"; // : Q
	}
    if (e.keyCode==87){
        location.href = "http://www.webforum.nu"; // : W
	}
    if (e.keyCode==69){
        location.href = "http://www.sj.se"; // :E
	}

}
</script>
```

Permalänk: https://www.webforum.nu/p/1276636

## #8 — Jesper T, 2004-02-12T12:02Z

Åh, va bra.

Permalänk: https://www.webforum.nu/p/1276639

## #9 — Winelover, 2004-02-12T13:20Z

Här går det undan minsann. Tack så mycket för hjälpen.

Permalänk: https://www.webforum.nu/p/1276670

## #10 — Winelover, 2004-03-24T18:22Z

Hej igen.

I linje med alltings jävlighet så ska det givetvis finnas användare som prompt vägrar använda kortkommandon utan är musfrälsta, dvs de vill skicka markerad sträng med hjälp av högerklick.

Jag letade upp ett script för detta men jag får det inte att fungera.

Under function highlightie5() så visas url med markerad text (document.selection.createRange().text) men jag får inte funktionen jumptoie5() att skicka med den markerade texten (search_value får inget värde).

Är det någon som vet vad jag gör för fel?

```
<SCRIPT LANGUAGE="JavaScript">
<!-- Web Site:  [url]http://www.dynamicdrive.com[/url] -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! [url]http://javascript.internet.com[/url] -->

<!-- Begin
var menuskin = "skin1"; // skin0, or skin1
var display_url = 1; // Show URLs in status bar?

function showmenuie5() {
var rightedge = document.body.clientWidth-event.clientX;
var bottomedge = document.body.clientHeight-event.clientY;
if (rightedge < ie5menu.offsetWidth)
ie5menu.style.left = document.body.scrollLeft + event.clientX - ie5menu.offsetWidth;
else
ie5menu.style.left = document.body.scrollLeft + event.clientX;
if (bottomedge < ie5menu.offsetHeight)
ie5menu.style.top = document.body.scrollTop + event.clientY - ie5menu.offsetHeight;
else
ie5menu.style.top = document.body.scrollTop + event.clientY;
ie5menu.style.visibility = "visible";
return false;
}

function hidemenuie5() {
ie5menu.style.visibility = "hidden";
}

function highlightie5() {
if (event.srcElement.className == "menuitems") {
event.srcElement.style.backgroundColor = "highlight";
event.srcElement.style.color = "white";
if (display_url)
window.status = event.srcElement.url+document.selection.createRange().text;
   }
}

function lowlightie5() {
if (event.srcElement.className == "menuitems") {
event.srcElement.style.backgroundColor = "";
event.srcElement.style.color = "black";
window.status = "";
   }
}

function jumptoie5() {
if (event.srcElement.className == "menuitems") {
if (event.srcElement.getAttribute("target") != null)
window.open(event.srcElement.url+document.selection.createRange().text, event.srcElement.getAttribute("target"));
else
window.location = event.srcElement.url+document.selection.createRange().text;
   }
}
//  End -->
</script>
```

Mellan BODY har jag:

\<div id="ie5menu" class="skin0" onMouseover="highlightie5()" onMouseout="lowlightie5()" onClick="jumptoie5();"\>
\<div class="menuitems"\>Sök i tabell:\</div\>
\<div class="menuitems" url="javascript:history.back();"\>Tillbaka\</div\>
\<hr\>
\<div class="menuitems" url="http://resultat.asp?val=tabell1&search_value="\>Tabell1\</div\>
\<div class="menuitems" url="http://resultat.asp?val=tabell2&search_value="\>Tabell2\</div\>
\<div class="menuitems" url="http://resultat.asp?val=tabell3&search_value="\>Tabell3\</div\>
\<div class="menuitems" url="http://resultat.asp?val=tabell4&search_value="\>Tabell4\</div\>
osv...
\</div\>
\<script language="JavaScript1.2"\>
if (document.all && window.print) {
ie5menu.className = menuskin;
document.oncontextmenu = showmenuie5;
document.body.onclick = hidemenuie5;
}
\</script\>

Permalänk: https://www.webforum.nu/p/1309240

## #11 — Jojoxx, 2004-03-24T19:04Z

[Här](http://www.jojoxx.net/jscript/archive/show.asp?id=89) har du ett alternativ som jag nyligen lade upp.

Permalänk: https://www.webforum.nu/p/1309277

## #12 — Winelover, 2004-03-24T20:16Z

Förvisso rätt coolt och jag tror nog jag kommer att byta ut mitt nuvarande kortkommandoscript men inte det jag är ute efter. Det jag undrar är varför inte markerad sträng inte kommer med i slutet av URL:en.

Permalänk: https://www.webforum.nu/p/1309318

## #13 — Jojoxx, 2004-03-24T20:58Z

Då moddar vi lite:

```
<script type="text/javascript"> 
/* Detta script finns att hämta på [url]http://www.jojoxx.net[/url] och 
   får användas fritt så länge som dessa rader står kvar. 
   Script: Tangentbordsnavigering 2.02 
*/ 

var navigation=new Object(); 
navigation['q']={ text:"Google", url:"http://www.google.se/search", target:"_blank" }; 

// Ändra inte raderna nedan. 
with(document){ 
write('<div id="jojoxxkeynavigation" style="position:absolute;visibility:hidden;border:solid rgb(0,0,0) 1px; background-color:rgb(230,230,230);font-family:Arial,Helvetiva,Sans-Serif;filter:Alpha(Opacity=80); -moz-opacity:80%;"><table cellpadding="0" cellspacing="0">'); 
for(var p in navigation){ 
write('<tr style="cursor:pointer;" onclick="window.open(\''+navigation[p].url+'\',\''+((navigation[p].target)?navigation[p].target:"_self")+'\');"><td style="font-size:10px;width:12px;padding:2px;text-align:center;"><div style="border:solid rgb(0,0,0) 1px;background-color:rgb(40,40,40);color:white;">'+p+'</div></td><td style="font-size:10px;vertical-align:middle;">'+navigation[p].text+"</td></tr>"); 
} 
write("</table></div>"); 
} 
if (!document.all){ document.captureEvents(Event.KEYDOWN|Event.KEYUP); } 
var keyboard=new Object(); 
window.onblur = function(){ document.getElementById("jojoxxkeynavigation").style.visibility="hidden"; for(var a in keyboard){ keyboard[a]=false; } } 
document.onkeydown = function(e){ 
   if(!document.all){ event=e; } 
   var key=(String.fromCharCode(event.keyCode))?String.fromCharCode(event.keyCode):""; 
   if(event.keyCode>0){ keyboard[event.keyCode]=true; } 
   if(event.ctrlKey){ 
      document.getElementById("jojoxxkeynavigation").style.visibility="visible"; 
   } 
   if(event.ctrlKey&&(navigation[key.toUpperCase()]||navigation[key.toLowerCase()])){ 
      var obj=(navigation[key.toUpperCase()])?navigation[key.toUpperCase()]:navigation[key.toLowerCase()]; 
      window.open(obj.url+"?q="+getTextSelection(),(obj.target)?obj.target:"_self"); 
   } 
} 
document.onkeyup = function(e){ 
   if(!document.all){ event=e; } 
   if(event.keyCode>0){ keyboard[event.keyCode]=false; } 
   document.getElementById("jojoxxkeynavigation").style.visibility="hidden"; 
} 
function getTextSelection() {
	if (document.getSelection) {
		return document.getSelection();
	} else if (document.selection && document.selection.createRange) {
		return document.selection.createRange().text;
	}
}
</script> 
Markera text och tryck [ctrl]+Q
```

Permalänk: https://www.webforum.nu/p/1309340

## #14 — Winelover, 2004-03-31T16:51Z

Schysst!

Problemet med mitt **högerklick** är att document.selection.createRange().text blir tom när jag vänsterklickar i den meny som blir synlig när jag högerklickar.

Hur lagrar jag en variabel som jag kan stoppa in efter window.location = event.srcElement.url+document.selection.createRange().text;
i stället för document.selection.createRange().text?

\*lol\*...hoppas ni förstår vad jag menar för det är knappt jag gör det själv :)

Permalänk: https://www.webforum.nu/p/1312419

## #15 — Jojoxx, 2004-03-31T18:24Z

Skulle kunna göra så här. Sparar undan texten och använder eventet onmousedown istället för onclick.

```
<script type="text/javascript"> 
/* Detta script finns att hämta på [url]http://www.jojoxx.net[/url] och 
   får användas fritt så länge som dessa rader står kvar. 
   Script: Tangentbordsnavigering 2.02 
*/ 

var navigation=new Object(); 
var searchText;
navigation['q']={ text:"Google", url:"http://www.google.se/search", target:"_blank" }; 

// Ändra inte raderna nedan. 
with(document){ 
write('<div id="jojoxxkeynavigation" style="position:absolute;visibility:hidden;border:solid rgb(0,0,0) 1px; background-color:rgb(230,230,230);font-family:Arial,Helvetiva,Sans-Serif;filter:Alpha(Opacity=80); -moz-opacity:80%;"><table cellpadding="0" cellspacing="0">'); 
for(var p in navigation){ 
write('<tr style="cursor:pointer;" onmousedown="window.open(\''+navigation[p].url+'?q=\'+searchText,\''+((navigation[p].target)?navigation[p].target:"_self")+'\');"><td style="font-size:10px;width:12px;padding:2px;text-align:center;"><div style="border:solid rgb(0,0,0) 1px;background-color:rgb(40,40,40);color:white;">'+p+'</div></td><td style="font-size:10px;vertical-align:middle;">'+navigation[p].text+"</td></tr>"); 
} 
write("</table></div>"); 
} 
if (!document.all){ document.captureEvents(Event.KEYDOWN|Event.KEYUP); } 
   var keyboard=new Object(); 
   window.onblur = function(){ document.getElementById("jojoxxkeynavigation").style.visibility="hidden"; for(var a in keyboard){ keyboard[a]=false; } } 
   document.onkeydown = function(e){ 
   if(!document.all){ event=e; } 
   var key=(String.fromCharCode(event.keyCode))?String.fromCharCode(event.keyCode):""; 
   if(event.keyCode>0){ keyboard[event.keyCode]=true; } 
   if(event.ctrlKey){ 
      searchText=getTextSelection();
      document.getElementById("jojoxxkeynavigation").style.visibility="visible"; 
   } 
   if(event.ctrlKey&&(navigation[key.toUpperCase()]||navigation[key.toLowerCase()])){ 
      var obj=(navigation[key.toUpperCase()])?navigation[key.toUpperCase()]:navigation[key.toLowerCase()]; 
      window.open(obj.url+"?q="+searchText,(obj.target)?obj.target:"_self"); 
   } 
} 
document.onkeyup = function(e){ 
   if(!document.all){ event=e; } 
   if(event.keyCode>0){ keyboard[event.keyCode]=false; } 
   document.getElementById("jojoxxkeynavigation").style.visibility="hidden"; 
} 
function getTextSelection() {
	if (document.getSelection) {
		return document.getSelection();
	} else if (document.selection && document.selection.createRange) {
		return document.selection.createRange().text;
	}
}
</script> 
Markera text och tryck [ctrl]+Q
```

Red. Forumet ändrar några \\\\' till ', men det har du säkert redan märkt. :)

Permalänk: https://www.webforum.nu/p/1312455

## #16 — Winelover, 2004-04-01T05:52Z

onmousedown funkade klockrent. Tack så mycket!

Permalänk: https://www.webforum.nu/p/1312633

---

Tråden på webben: https://www.webforum.nu/amne/javascript/96704-skicka-markerad-sträng-till-söksida
