Avatar billede testpilot_dk Nybegynder
09. februar 2006 - 15:54 Der er 26 kommentarer og
1 løsning

fjerne space, ved brug af data fra querystring

Hej!

Hvordan får jeg fjernet mine +'er fra mine værdier som sendes i querystringen ?
Avatar billede olebole Juniormester
09. februar 2006 - 16:07 #1
<ole>

Ehhh ... hvorfra stammer de? Normalt er et mellemrum jo '%20', så det kunne tyde på en uhensigtsmæssig encoding i første omgang  :)

/mvh
</bole>
Avatar billede testpilot_dk Nybegynder
09. februar 2006 - 16:14 #2
ja, det er muligt, jeg sender lige det som ligger det i querystring

var queryValues,queryNames,queryItems,querystring,url,hasQuerystring,temp,itemCount;
itemCount=0;

function initRequest(){
    url=document.location.href;
    start=url.indexOf("?");
    if (start==-1){hasQuerystring=false;}
    else{
        hasQuerystring=true;
        queryValues=new Array();
        queryNames=new Array();
        querystring=url.substring(start+1,url.length);
        queryItems=querystring.split("&");
        for (i=0;i<queryItems.length;i++){
            temp=queryItems[itemCount].split("=");
            queryNames[itemCount] = unescape(temp[0].toLowerCase());
            queryValues[itemCount] = unescape(temp[1]);
            itemCount++;   
        }
    }
    window.print();
}

function request(item){
    if (hasQuerystring){
        item=item.toLowerCase();
        for (j=0;j<itemCount;j++){
            if (item==queryNames[j])
        {
                return queryValues[j];
        }
        }
        return '';
    }
    else
        return '';
}
initRequest();

en form som ved brug af get, smider det videre til en anden side!

teksten stammer fra et textarea
Avatar billede testpilot_dk Nybegynder
09. februar 2006 - 16:23 #3
har du nogle gode ideer? ???
Avatar billede olebole Juniormester
09. februar 2006 - 16:25 #4
Jeg er mere interesseret i at se, hvordan query'en opstår - og hvad du gør, når den sendes  :)
Avatar billede testpilot_dk Nybegynder
09. februar 2006 - 16:31 #5
<form method="GET" action="index2.htm">

Er det ikke den øverste som generer min querystring ???
Avatar billede olebole Juniormester
09. februar 2006 - 16:59 #6
Prøv dette script i modtager-dokumentet:

<script type="text/JavaScript">
var sLoc, aVars, aTmp, oGET = {};
sLoc = location.search;
if (sLoc && sLoc.length>1) {
    sLoc = unescape(sLoc.substr(1)).replace(/\+/g, " ");
    aVars = sLoc.split("&");
    for (var i=0; i<aVars.length; i++) {
        aTmp = aVars[i].split("=");
        if (aTmp.length>1) oGET[aTmp[0]] = aTmp[1];
        else oGET[aTmp[0]] = "";
    }
}
</script>

Herefter kan du hente variabler med:
    alert( oGET["variabel"] )
- eller:
    alert( oGET.variabel )
Avatar billede olebole Juniormester
09. februar 2006 - 17:00 #7
- forudsat, der findes et felt med navnet 'variabel' i formen  ;o)
Avatar billede testpilot_dk Nybegynder
10. februar 2006 - 08:10 #8
jeg får ikke skrevet noget ud, har du nogle ideer til hvordan jeg får overført mine variable på en anden måde, uden brug af Asp og php! så jeg undgår de grimme + som spaces
Avatar billede testpilot_dk Nybegynder
10. februar 2006 - 09:54 #9
og jeg har ændre variabel, til et af mine egne variable navne
Avatar billede olebole Juniormester
10. februar 2006 - 12:27 #10
Du skriver bare, hvad jeg har skrevet ... det fungerer perfekt, hvis ikke du laver andre fejl  :)
Avatar billede testpilot_dk Nybegynder
10. februar 2006 - 14:25 #11
okay, hvad kan andre fejl være?

Jeg synes ikke det virkede da jeg afprøvede det
Avatar billede testpilot_dk Nybegynder
10. februar 2006 - 14:27 #12
hvor på siden skal jeg indsætte det, i header delen, uden for denne eller i body området
Avatar billede olebole Juniormester
10. februar 2006 - 14:30 #13
Der, hvor du har lyst til at skrive det ... i head- eller body-elementet gør ingen forskel  :)
Avatar billede testpilot_dk Nybegynder
10. februar 2006 - 14:31 #14
jeg kan ikke få det at virke, men den melder heller ikke fejl på den linje
Avatar billede testpilot_dk Nybegynder
10. februar 2006 - 14:34 #15
<form action="index2.htm" method="GET">
Faktura nr. : <input type="text" name="T1" size="11" tabindex="1">
</form>

på første side, på den anden side har jeg følgende

<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<meta name="GENERATOR" content="Microsoft FrontPage 4.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<title>Ny side 1</title>
<script type="text/JavaScript">
var sLoc, aVars, aTmp, oGET = {};
sLoc = location.search;
if (sLoc && sLoc.length>1) {
    sLoc = unescape(sLoc.substr(1)).replace(/\+/g, " ");
    aVars = sLoc.split("&");
    for (var i=0; i<aVars.length; i++) {
        aTmp = aVars[i].split("=");
        if (aTmp.length>1) oGET[aTmp[0]] = aTmp[1];
        else oGET[aTmp[0]] = "";
    }
}
</script>
</head>

<body>
alert( oGET["T1"] )
</body>

</html>
Avatar billede olebole Juniormester
10. februar 2006 - 14:39 #16
Ja, det funker præcist som forventet  :)
Hvad er det her, der ikke virker:

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<meta name="GENERATOR" content="Microsoft FrontPage 4.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<title>Ny side 1</title>
<script type="text/JavaScript">
var sLoc, aVars, aTmp, oGET = {};
sLoc = location.search;
if (sLoc && sLoc.length>1) {
    sLoc = unescape(sLoc.substr(1)).replace(/\+/g, " ");
    aVars = sLoc.split("&");
    for (var i=0; i<aVars.length; i++) {
        aTmp = aVars[i].split("=");
        if (aTmp.length>1) oGET[aTmp[0]] = aTmp[1];
        else oGET[aTmp[0]] = "";
    }
}
</script>
</head>

<body>
<script type="text/JavaScript">
alert( oGET["T1"] );
</script>

<form action="" method="GET">
Faktura nr. : <input type="text" name="T1" size="11" tabindex="1"><br>
<button type="submit">Send</button>
</form>
Avatar billede olebole Juniormester
10. februar 2006 - 14:40 #17
Oooops ... manglede selvfølgelig disse to tags i slutningen:

</body>
</html>
Avatar billede testpilot_dk Nybegynder
10. februar 2006 - 14:41 #18
nå 2 sek, jeg tror lige at har dummet mig, jeg forsøger lige noget
Avatar billede testpilot_dk Nybegynder
10. februar 2006 - 14:42 #19
jeg har vist fundet ud det!
Avatar billede testpilot_dk Nybegynder
10. februar 2006 - 14:45 #20
HVIS JEG SŠVIL HAVE DET SKREVET UD PŠSIDEN, HVORDNA SŨ
Avatar billede olebole Juniormester
10. februar 2006 - 15:13 #21
Begynd med at fjerne CapsLock. Det er måden, man skriger og råber ad folk på WWW - og det har du absolut ingen grund til i denne tråd!
Avatar billede testpilot_dk Nybegynder
10. februar 2006 - 17:00 #22
Ups :(

Det må du meget undskylde, jeg sad bare og lavede noget andet, hvor det er krævet at det er store bogstaver hele tiden!

Jeg undskylder mange gange, for nej jeg har ingen grund til at råbe ad folk herinde, de er for seje!
Avatar billede olebole Juniormester
10. februar 2006 - 18:06 #23
Fintnok, så  :)

Du kan evt skrive det ind i et div på onload af dokumentet:

<script type="text/JavaScript">
window.onload = function(){
    document.getElementById("display").innerHTML = oGET["T1"];
}
</script>

- og et sted i body'en har du så:

<div id="display">&nbsp;</div>
Avatar billede testpilot_dk Nybegynder
19. februar 2006 - 11:36 #24
hvis jeg nu gerne vil undgå at lave alle de divs, jeg har cirka 40 felter!
Avatar billede testpilot_dk Nybegynder
19. februar 2006 - 12:28 #25
hvoordan undgår jeg at der bliver lavet en ny linje, for hver div!
Avatar billede testpilot_dk Nybegynder
28. februar 2006 - 12:11 #26
Hej OleBole!

Send et svar, jeg har løst det ved hjælp af din metode
Avatar billede olebole Juniormester
11. marts 2006 - 23:22 #27
- s'gerne  ;o)
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