webForumDet fria alternativet

url encode

6 svar · 493 visningar · startad av devotion

devotionMedlem sedan jan. 20012 711 inlägg
#1

Hittade en liten java script funktion på mitt formulär sida enligt:

function OnSaveTask()
{
	var txt;
	txt=MergeParameters();
	location.href=("savenewtask.asp?" + txt)
}

Jag har ett problem med att ISA-servern inte tar emot Querystringen...
(http://www.webforum.nu/showthread.php?p=1433681#post1433681)

Hur URL-encodar jag ovanstående kod? :)

Mvh
Henrik

colioneMedlem sedan juni 20013 386 inlägg
#2

encodeURIComponent(txt)
Fast det beror lite på vad det som returneras från merge-funktionen, det är smartare att koda alla values i den.

devotionMedlem sedan jan. 20012 711 inlägg
#3

colione skrev:

encodeURIComponent(txt)
Fast det beror lite på vad det som returneras från merge-funktionen, det är smartare att koda alla values i den.

DEn ser ut så här:

function MergeParameters()
{
	var txt, q;
	txt="new=1"

//	if( editform.CUSTOMERORDERER.value!="" ) txt=txt + "&Orderer='" + editform.CUSTOMERORDERER.value + "'";
//	if( editform.CUSTOMERREF.value!="" ) txt=txt + "&Ref='" + editform.CUSTOMERREF.value + "'";
	if( editform.CUSTOMERPROJECT.value!="" ) txt=txt + "&Project='" + editform.CUSTOMERPROJECT.value + "'";
	if( editform.PRIORITY.value!="" ) txt=txt + "&Priority='" + editform.PRIORITY.value + "'";
//	if( editform.OBJECT1.value!="" ) txt=txt + "&Object1='" + editform.OBJECT1.value + "'";
//	if( editform.OBJECT2.value!="" ) txt=txt + "&Object2='" + editform.OBJECT2.value + "'";
	if( editform.CUSTOMT1.value!="" ) txt=txt + "&CustomT1='" + editform.CUSTOMT1.value + "'";
	if( editform.CUSTOMT2.value!="" ) txt=txt + "&CustomT2='" + editform.CUSTOMT2.value + "'";
	if( editform.CUSTOMT3.value!="" ) txt=txt + "&CustomT3='" + editform.CUSTOMT3.value + "'";
	if( editform.CUSTOMA1.value!="" ) txt=txt + "&CustomA1='" + editform.CUSTOMA1.value + "'";
	if( editform.CUSTOMA2.value!="" ) txt=txt + "&CustomA2='" + editform.CUSTOMA2.value + "'";
	if( editform.CUSTOMA3.value!="" ) txt=txt + "&CustomA3='" + editform.CUSTOMA3.value + "'";

	if( editform.TASK.value!="" )
	{
		q=editform.TASK.value;
		q=q.replace(/\n/g, "\\n");
		txt=txt + "&Task='" + q + "'";
	}
	return txt;
}

Mvh
Henrik

colioneMedlem sedan juni 20013 386 inlägg
#4

alla editform.ELEMENT.value bör wrappas i en encodeURIComponent()

devotionMedlem sedan jan. 20012 711 inlägg
#5

colione skrev:

alla editform.ELEMENT.value bör wrappas i en encodeURIComponent()

Du skulle inte kunna ge ett exempel på en rad, hur det ska göras? :)

Mvh
Henrik

colioneMedlem sedan juni 20013 386 inlägg
#6

Jag skulle skippa singelfnuttarna du har runt också, helt onödigt. Plus att jag skulle köra med += istället för att skriva txt två gånger.

if( editform.CUSTOMT3.value!="" ) txt += "&CustomT3=" + encodeURIComponent(editform.CUSTOMT3.value);
devotionMedlem sedan jan. 20012 711 inlägg
#7

Hmmm....

Då protesterar ju inte ISA-server, men det blir jäkligt konstiga tecken för ÅÄÖ...

testvägen 123

Det "konstiga" är att det blir bara där det sparas som varchar() i databsen. Där det spatras som text visas det korrekt....

Mvh
Henrik

124 ms totalt · 3 externa anrop · cache AV · v20260731051352-full.56cc9887
0 ms — hämta statistik (cache)
0 ms — hämta forumlista (cache)
121 ms — hämta tråd, inlägg och bilagor (db)