Just nu i M3-nätverket
Jump to content

Från Javascript till VBScript


Guest PLEASE_DELETE_ME

Recommended Posts

Guest PLEASE_DELETE_ME

Finns det ngn vänlig själ som kan hjälpa mig att omvandla detta fungerande javascript till en VBScript-function ?

Jag har försökt men förgäves, jag kommer nära en lösning men den funkar inte när jag testar olika siffror.

 

 

Javascriptet ser ut som så här:

function pageNav(url, params, colnum) {
var arrItem = new Array("0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "Å", "Ä", "Ö");
var url    = url;
var params = params;
var colnum = colnum;
var rownum = 0;
var reset_ = 0;
var i=0; // loop-variables declared for future reference
var j=0; // loop-variables declared for future reference
var k=0; // loop-variables declared for future reference



if ( (arrItem.length%colnum)!=0) {
	rownum = parseInt( (arrItem.length/colnum) +1);
} else {
	rownum = parseInt((arrItem.length/colnum));
}
// alert (arrItem.length/colnum);
// alert(rownum)

document.writeln("<TABLE BORDER=1 CELLSPACING=0 CELLPADDING=10>");

for (i=0; i<arrItem.length; i++) {	
	for (k=1; k<rownum+1; k++) {
		document.writeln("<TR>")

		for (j=0; j<colnum; j++) {
			if (i<arrItem.length) {
				i++;
				document.writeln("	<TD ALIGN=\"left\" VALIGN=\"top\">"+ arrItem[i-1].link(url +'?'+ params + arrItem[i-1]) +"</TD>");
			} else {
				document.writeln("	<TD ALIGN=\"left\" VALIGN=\"top\">&nbsp;</TD>");
			}
		}
		j=0
		document.writeln("</TR>");	
	}
}

document.writeln("</TABLE>");
}

 

För att anropa funktionen:

pageNav('pageNav.asp', 'l=', 10);

siffran 10 skall bytas ut mot en ännu okänd siffra därför vill jag att funktionen skall förbli dynamisk.

 

Men hur jag än gör i VBScriptet så fungerar det aldrig till 100% som javascriptet gör ??

 

-=(Dionne)=-

 

Link to comment
Share on other sites

Varför byta den till VBScript när du ändå håller dig på klient sidan.

 

Alla browsers klarar JavaScript men endast IE klarar av VBScript.

 

Link to comment
Share on other sites

Varför vill du göra om till VBScript egentligen? Ska du köra funktionen på servern kan du lika gärna fortsätta använda javascript, <%@LANGUAGE=Javascript%>

<% ..kod.. %>

 

Link to comment
Share on other sites

Guest PLEASE_DELETE_ME

Jo, tanken är att scriptet skall in i en asp-sida senare, jag testar alltid vad som kan på klienten med VBscript först.

 

Samtliga sidor är skrivna i VBScript, vill därför hålla mig till det även om jag personligen föredrar JavaScript/JScript.

 

-=(Dionne)=-

 

Link to comment
Share on other sites

Jag orkar inte skriva om den åt dig men % skrivs med MOD, arr.length blir Ubound(arr), new Array blir bara Array, document.writeln("...") blir bara

Document.Write "..."

 

Det enklaste måste nog vara att du skriver i VBScript på en gång och kör den upp på ASP sidan ( du kan inte använda document.writeln i ASP ).

 

[inlägget ändrat 2003-03-17 14:38:49 av qwerty99]

Link to comment
Share on other sites

  • 2 weeks later...
Guest PLEASE_DELETE_ME

detta är vad jag kom fram till, men det fungerar tyvärr inte till 100 :( (någon som ser felet ?)

 

<HTML>
<HEAD>
<TITLE>Untitled Document</TITLE>
<SCRIPT language="VBScript" TYPE="TEXT/VBSCRIPT">

function pageNav(u, p, c)
Dim arrItem
Dim url, params, column, rownum, reset_, arrLength
Dim i, j, k

arrItem = Array("0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "A", "B", "C", "D", "E", "F", 

"G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "Å", 

"Ä", "Ö")
url     = u
params  = p
colnum  = cInt(c)
rownum  = 0
reset_  = 0
arrLength = Clng(UBound(arrItem)+1)
i=0 
j=0 
k=0


if ( (arrLength Mod colnum) <>0) THEN
	rownum = Cint( (arrLength/colnum)+1)
else 
	rownum = Cint(arrLength/colnum)
END IF

msgBox("rest: "&  arrLength Mod colnum)
msgBox("rader: "& rownum)
msgBox("Kolumner: "& colnum)

document.write("<TABLE BORDER=1 CELLSPACING=0 CELLPADDING=10>")

for i=0 TO arrLength
	for k=1 TO rownum
		document.write("<TR>")

		for j=0 TO colnum-1
			if ( i<arrLength ) THEN
				i = i +1
				document.write("	<TD ALIGN=""left"" VALIGN=""top"">"& 

arrItem(i-1) &"</TD>")
			else
				document.write("	<TD ALIGN=""left"" 

VALIGN=""top"">&nbsp;</TD>")
			END IF
		NEXT
		document.write("</TR>")
	NEXT
NEXT

document.write("</TABLE>")
END Function

Call pageNav("pageNav.asp", "l=", 7)
</SCRIPT>
</HEAD>

<BODY>

</BODY>
</HTML>

 

-=(Dionne)=-

 

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.



×
×
  • Create New...