Just nu i M3-nätverket
Gå till innehåll

Från Javascript till VBScript


Gäst PLEASE_DELETE_ME

Rekommendera Poster

Gäst 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)=-

 

Länk till kommentar
Dela på andra webbplatser

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.

 

Länk till kommentar
Dela på andra webbplatser

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.. %>

 

Länk till kommentar
Dela på andra webbplatser

Gäst 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)=-

 

Länk till kommentar
Dela på andra webbplatser

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]

Länk till kommentar
Dela på andra webbplatser

  • 2 veckor senare...
Gäst 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)=-

 

Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.

×
×
  • Skapa nytt...