Tjena
Detta blir nog lite rörigt... Jag jobbar med en HTML-sida som hämtar information från en databas. Informationen presenteras på html-sidan i form av text och bild. Texten kommer från olika fält i databasen. Texten i ett av dessa fält blir till en söklänk som innehåller själva sökordet. Ungefär som en adress som säger "sökordet i fältet blabla ska vara='vård'.
Problemet blir när detta ord innehåller åäö, IE fattar inte detta. På något vis vill jag göra något kod som säger att "om en webbadress innehåller åäö, byt ut åäö mot %E5 %E4 %F6"
Databasen har byggts upp under många år och innehåller 60 000 poster, så det är inte aktuellt att ändra där.
Någon som vet hur man fixar detta?
Nate.AMedlem sedan mars 2006296 inlägg I Javascript heter funktionen för att göra det escape('vård')
http://www.w3schools.com/jsref/jsref_escape.asp
I PHP kan du använda urlencode('vård');
http://se.php.net/manual/en/function.urlencode.php
Ok. Fick det inte att fungera, men är iofs ingen höjdare på detta. Testade:
<script type="text/javascript">
document.write (escape("<a href='http://ord=*'#FLD:040A099;'>#FLD:040A099;</A>")); </script>
#FLD:040A099 är koden som hämtar text från rätt fält i databasen.
Tips?
@ndersMedlem sedan juni 200032 969 inlägg Kanske nåt sånt härnt:
<script type="text/javascript">
document.write ("<a href='http://ord=" + escape("#FLD:040A099;") + "'>#FLD:040A099;</A>");
</script>
mvh
Karlingrid skrev:
Databasen har byggts upp under många år och innehåller 60 000 poster, så det är inte aktuellt att ändra där.
Någon som vet hur man fixar detta?
Om bästa lösningen är att ändra i dabasen borde det gå att skriva ett program som ändrar i databasen eller konveterar hela databasen till en ny fil. Man kan i såfall använda valfri programeringsspråk som kan hantera den aktuella databsen. Konverterat filer och databaser har man gjort i alla tider vid behov. Detta behöver bara göras en gång.
Sen måste programmet/programmen som uppdaterar databasen ändras så klart så att alla nya poster sparas på rätt sätt.
som sagt, det är inte aktuellt att ändra i databasen.
Men @nders förslag fungerade efter lite modifikation! Tjoho!
Nu undrar jag bara hur det är med javascript och tillgänglighet på webben? T.ex. funktionshindrade som använder program som läser av webbsidan. Kommer de missa den textbiten?
Jag har förresten läst på många ställen att det anses vara "bad practice" att använda document.write... Har ni några förslag på hur man annars kan göra?
Tack för hjälpen förresten
Karlingrid skrev:
Jag har förresten läst på många ställen att det anses vara "bad practice" att använda document.write... Har ni några förslag på hur man annars kan göra?
Tack för hjälpen förresten
ha ett element som gå lätt (exempelvis document.getElementById) att hitta och sätt dess innerHTML till samma värde.
voigtann1 skrev:
ha ett element som gå lätt (exempelvis document.getElementById) att hitta och sätt dess innerHTML till samma värde.
Ahh okej. Men förstår inte riktigt hur jag får ihop det?
Efter att ha googlat som en galning testade jag:
<script type="text/javascript">
function changeLink()
{
document.getElementById(myLink).innerHTML='<a href="http://blabla=* " + escape("'#FLD:040A099;'") + ">#FLD:040A099; </A>'
}
</script>
<a id="myLink" href="http://blabla=*'#FLD:040A099;'">#FLD:040A099;</a>
Men det fungerade inte... Är som sagt ingen höjdare på detta...
getElementById behöver en sträng, inte en variabel (om inte nu variablen är en sträng).
sen innerHTML kommer skriva över den innre HTML texten inne i #myLink, så du kommer få dubbla a-element, vilket känns konstigt.
Sen räcker det ju inte att bara skapa en metod, du måste anropa metoden också: http://jsbin.com/icazam/2/edit