webForumDet fria alternativet

Mellanslag

ASP

9 svar · 575 visningar · startad av mhedda

Medlem sedan feb. 2000385 inlägg
Frågan#1

Hej på er!
Jag har ett litet problem med mellanslag i sökfält.
Har lagt in denna kod.
strForetagsnamn = Replace(Request.form("Foretagsnamn"), "', å, ä, ö, ", "'', chr(228), chr(229), chr(246), chr(95)")

strLan = Replace(Request.form("Lan"), "å, ä, ö", "chr(228), chr(229), chr(246)")
Funkar bra med apostrof och å, ä, ö.
Men mellanslag funkar inte har provat med _ och som i koden ovan asciikod men den vill ändå inte ta mellanslag när jag lägger ut den på nätet. Det funkar dock på PWS:en utan att replaca mellanslag. Vad ska man göra tro.
MVH Hadda

------------------
Hedda

Medlem sedan juni 200032 967 inlägg
#2

kan du förklara lite närmare?

jag fattar ingenting... (å då kan man ju inte hjälpa till...)

------------------
<A HREF="http://www.cartman.nu" TARGET=_blank>
det man inte minns har inte hänt.
hit med en berka!</A>

Medlem sedan maj 2000269 inlägg
#3

Det där är faktiskt intressant och måste diskuteras tills vi kommit fram till lösning.

alltså.

om du har ett INPUT fält och vill skriva ut innehållet ur föregående sida i ett nytt INPUT fält på nästa ASP sida.
, om du då kommer använda tex "response.write("<INPUT TYPE=text VALUE="&request.form("sökfält")&">")" då kommer den kapa bort allt efter det första mellanslaget, även om du använder Server.HTMLencode.. men om du istället gör en inline , tex "<INPUT TYPE=text VALUE="<%response.write(request.form("sökfält"))%>">" , då kommer det bli korrekt och ingen kapning sker... är det nån som vet varför detta uppstår?.

Medlem sedan juni 2000690 inlägg
#4

Danmagnus:

Antagligen därför att du måste ha " tecken före och efter värdet i den resulterande html koden... Annars kapas det vid första mellanslag.

Lägg alltså till "" där du skall ha ett " tecken.

Typ så här:
response.write("<INPUT TYPE=text VALUE="""&request.form("sökfält")&""">")

------------------
MvH
/Bengan
www.bengan.com
"Your mouse has moved. Windows will now restart to accept the changes."

[Redigerat av Bengan den 25 sep 2000]

Medlem sedan feb. 2000385 inlägg
#5

Hej!
Så här läget jag söker i ett inputfält Foretagsnamn.Visning sker på nästa asp-sida med denna kod:<A HREF="<%=Replace(rs("Hemsida")," ","+")%>" target="blank"><%=Replace(rs("Foretagsnamn")," ","_")%></A>
Så om man söker på ett län visar den även företagsnamn med mellanslag så visningen funkar utan kapning. Men om man skriver in ett specifikt företag vid sökning i input fältet som innehåller mellanslag så kapar den namnet och hittar inte.
Hoppas ni förstår mitt problem.
MVH Hedda

------------------
Hedda

Medlem sedan feb. 2000385 inlägg
#6

Hej skall det inte gå att replaca mellanslag i denna rad på någe vis. Det funkar ju med apostrof, å, ä och ö
strForetagsnamn = Replace(Request.form("Foretagsnamn"), "', å, ä, ö","'', chr(228), chr(229), chr(246)")
Någon som vet.
MVH Hedda

------------------
Hedda

Medlem sedan feb. 2000385 inlägg
#7

Någon som vet hur man på ett enkelt sätt får sökningen att funka med mellanslag så att den inte kapar företagsnamnet? Nu när jag söker på tex Åkés Strumpor AB så blir det inga träffar men söker jag på Å eller Åkés så hittar den. Min kod är förnärvarande

strForetagsnamn = Replace(Request.form("Foretagsnamn"), "', å, ä, ö","'', chr(228), chr(229), chr(246)")
strSQL = Request("SQLquery")

If strSQL = "" Then
strSQL = "SELECT * FROM Katalog WHERE Foretagsnamn LIKE '" & _
strForetagsnamn & "%' " & _
"AND Lan LIKE '" & strLan & "%' ORDER BY Foretagsnamn"
End If

Ska man inte få in att den tar mellanslag på replace raden?
Typ "" "_" eller nått har försökt men jag kanske har satt dit koden fel.
Någon som vet?
ByByHedda

------------------
Hedda

Medlem sedan dec. 19996 721 inlägg
#8

Jag förstår inte din Replace. Vad gör den? I princip skulle den byta ut ', å, ä, ö mot '', chr(228), chr(229), chr(246)

dvs. om strängen är

hej jag heter ', å, ä, ö

så blir den

hej jag heter '', chr(228), chr(229), chr(246)

...och det är väl knappast vad du vill åt?

Någon som vet hur man på ett enkelt sätt får sökningen att funka med mellanslag så att den inte kapar företagsnamnet?

I din sökning hittar den allt där företagsnamnet börjar på det företagsnamn du skrev in, och länet slutar på det län du skrev in. Är inte det rätt?

------------------
Gunnar Liljas - webbutvecklare
Leon Reklambyrå AB

[Redigerat av emission den 27 sep 2000]

Medlem sedan mars 20002 836 inlägg
#9

Hello,

en QueryString kapar den om det finns ett mellanslag i den, tex: Mitt AB

då kapar QS allt som följer efter Mitt.
För att undvika det använder man sig av:

url = "minfil.asp?foretag=" & Server.URLEncode(strForetag) & "&lan=" & Server.URLEncode(strLan)

Request.Form blir URLEncode automatiskt

cya,
PatrikB

------------------
=================================
** ZWGdesign **
=================================

Medlem sedan feb. 2000385 inlägg
#10

Hello long time no see
har vart bortrest så det tog ett tag innan jag förstod att jag inte förstod ;) först emission
Ascii värdena behövdes tydligen för att den skulle hitta i databasen och det som är problemet nu är att den inte hittar i databasen när man söker företag med ett mellanslag i namnet.
I visningen när man söker tex
på hela sverige så visas företag med mellanslag men när man skriver in ett specifikt företag med mellanslag i sökfältet så hittar den inte någonting.
PatrikB koden
url = "minfil.asp?foretag=" & Server.URLEncode(strForetag) & "&lan=" & Server.URLEncode(strLan)

ser intressant ut men var sätter jag in url?
Min kod ser ut så här nu
strForetagsnamn = Server.URLEncode(Request("Foretagsnamn"))
strLan = Server.URLEncode(Request("Lan"))
strHemsida = Server.URLEncode(Request("Hemsida"))
url ="K.asp?foretagsnamn=" & Server.URLEncode(strForetagsnamn) & "&foretagsnamn=" & Server.URLEncode(strForetagsnamn)

strForetagsnamn = Replace(Request.form("Foretagsnamn"), "', å, ä, ö", "'', chr(228), chr(229), chr(246)")

strLan = Replace(Request.form("Lan"), "å, ä, ö", "chr(228), chr(229), chr(246)")
' SQL fråga för att hämta sökt data
'----------------------------------
strSQL = Request("SQLquery")

If strSQL = "" Then
strSQL = "SELECT * FROM Katalog WHERE Foretagsnamn LIKE '" & _
strForetagsnamn & "%' " & _
"AND Lan LIKE '" & strLan & "%' ORDER BY Foretagsnamn"
End If
Förstår ni vad jag inte förstår?
MVH Hedda

------------------
Hedda

252 ms totalt · 4 externa anrop · v20260731065814-full.e96017d9
121 ms — deklarationer (db)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)
120 ms — ändringar (db)