VideMedlem sedan dec. 19998 577 inlägg Tjenare,
Jag har två radiobutton som togglar mellan två olika värden, dessa värden vill jag ha med i querystring, men kan inte använda mig utav formulär i detta fallet.
Hur gör jag för att byta ut värdet intConfValue till nyckeln confidence?
Det bygger på denna koden som anropas vid onclick på varje radiobutton:
function toggleConfidence( intConfValue )
{
document.location += '&confidence=' + intConfValue;
}
Mvh, Vide
Jag förstår inte riktigt ditt problem?
VideMedlem sedan dec. 19998 577 inlägg Andra gången jag trycker på en radiobutton så kommer querystring se ut såhär:
sida.asp?confidence=90&confidence=95
Alltså får jag två värden i confidence, jag vill alltså byta ut det befintliga värdet med det nya.
JojoxxMedlem sedan juni 20004 308 inlägg function toggleConfidence( intConfValue )
{
location.href=location.pathname+"?confidence=" + intConfValue;
}
Kanske?
Sen kanske du behöver göra nån extra grej om confidence är först i QueryStringen (?conf...). Men det fixar en duktig kille som du! ;)
function toggleConfidence( intConfValue )
{
var url = location.href;
url = url.replace(/\?confidence=[^&]*/gi, "");
url = url.replace(/&confidence=[^&]*/gi, "");
url += "&confidence=" + intConfValue;
location.href = url;
}
Redigering: Fixade ?conf... fallet.
Jojoxx, det kan ju finnas andra parametrar med i querystringen. Verkar så på Vide's kod.
Vide, säg att jag har rätt så jag har spöat Jojoxx! ;)
VideMedlem sedan dec. 19998 577 inlägg Hehe, jag har oftast andra parametrar innan, men det kan finnas tillfälle där jag inte har det heller kom jag på nu också. ;)
VideMedlem sedan dec. 19998 577 inlägg
Erik Juhlin skrev:
Redigering: Fixade ?conf... fallet.
Men blir det inte konstigt om det inte finns andra värden? Då kommer det väl att se ut såhär:
sida.asp&confidence=95
... eller?
Nöjd nu? :p
function toggleConfidence( intConfValue )
{
var url = location.href;
var queryString = "";
if (url.indexOf("?") != -1)
{
queryString = url.substr(url.indexOf("?"));
queryString = queryString.replace("?", "&");
queryString = queryString.replace(/&confidence=[^&]*/gi, "");
}
queryString += "&confidence=" + intConfValue;
queryString = queryString.replace(/^&/, "?");
location.href = location.pathname + queryString;
}
VideMedlem sedan dec. 19998 577 inlägg Du är en stor klippa du. Tackar! :D
<script language="javascript" type="text/javascript">
function parseQuery(){
if (location.search) {
var params = location.search.substring(1, location.search.length).split('&');
var result = new Array ();
for (k in params) {
queryparts=params[k].split('=');
eval('result.' + queryparts[0] + ' = "' + queryparts[1] + '"');
}
return result;
}
return new Array();
}
function toggleConfidence( intConfValue ){
var basehref = location.pathname, baseQuery = parseQuery();
var padChar = "?";
baseQuery.confidence = intConfValue;
for (i in baseQuery){
basehref += padChar + i + "=" + baseQuery[i];
padChar = "&"
}
location.href = basehref;
}
</script>
Denna kod uppdaterar confidence, alt. lägger till den, och låter alla andra querystrings vara som dom är.
VideMedlem sedan dec. 19998 577 inlägg Vad är det för skillnad på din och Eriks kod?
Hmmm. Ingen vad jag kan se. Jag tryckte på skriv inlägg, och började koda. Alltså märkte jag inte att Erik hade hunnit posta nåt under tiden.
VideMedlem sedan dec. 19998 577 inlägg Aha, tack ändå, två olika lösningar på samma problem är alltid roligt att se. :D
Jag kom på en bättre kod. Man kluddar till det för sig ibland... :OO
function toggleConfidence( intConfValue )
{
var url = location.href;
url = url.replace(/(&|\?)confidence=[^&]*/gi, "$1confidence=" + intConfValue);
location.href = url;
}
Redigering: Kom på att denna endast funkar om confidence redan finns i querystringen... :l
Ultimata?
function toggleConfidence( intConfValue )
{
var url = location.href;
url = url.replace(/(&|\?)confidence=[^&]*/gi, "$1confidence=" + intConfValue);
if (url.search(/(&|\?)confidence=[^&]*/gi) == -1)
url += (url.indexOf("?") == -1 ? "?" : "&") + "conficence=" + intConfValue;
location.href = url;
}
Man är nog lite skadad som inte kan släppa detta... :)
VideMedlem sedan dec. 19998 577 inlägg Haha, du är ju galen Erik... Det ser ganska ultimat ut i mina otränade ögon iaf ;)
Gulp * :o Jag får anse mig knäckt... bara för att jag inte behärskar reguljära uttryck. Vide, du fick din lösning, och det är väl det som är viktigast... :)
VideMedlem sedan dec. 19998 577 inlägg Nu när jag testade scriptet i IE så verkar det inte fungera som det skall, resten av querysträngen är kvar, men "confidence" kommer inte med.
Hur skall jag modifiera för att få det IE-kompatiblet?