Ugyldig klassestreng v. Javascript + Persist.Upload
I forlængelse af: http://www.eksperten.dk/spm/430431Fejltype:
Serverobjekt, ASP 0177 (0x800401F3)
Ugyldig klassestreng
/school.mohaa.dk/create_subsite.asp, line 292
Koden til formen:
<form method="post" enctype="multipart/form-data" action="create_subsite.asp?create=3" onsubmit="return checkForm(this);">
<p> Headline:<br>
<input name="formHEADLINE" type="text" class="form-standard" id="formHEADLINE" size="70">
</p>
<p> Site text:<br>
<textarea name="formTEXT" cols="71" rows="20" class="form-standard" id="formTEXT"></textarea>
</p>
<p>Picture:<br>
<input type="file" name="file1" class="form-standard" size="50">
</p>
<p> In what submenu should this site be placed?<br>
<select name="formMENUCAT" class="form-standard" id="formMENUCAT">
<option value="0">
No subcatagory
</option>
<!--#include file="dbconn.asp"-->
<%
strSQL = "SELECT * FROM MENUCAT"
Set rs = Conn.Execute(strSQL)
%>
<%
do
strMENUCAT = rs("MENUCAT")
strMENUCATID = rs("ID")
%>
<option value="<%Response.Write(strMENUCATID)%>">
<%Response.Write(strMENUCAT)%>
</option>
<%
rs.movenext
loop while not rs.eof
rs.close
set rs = nothing
%>
<!--#include file="dbclose.asp"-->
</select>
</p>
<p>What do you wanna name the link in the menu for this site? (max 20 chars)<br>
<input name="formLINKNAME" type="text" class="form-standard" id="formLINKNAME" size="20" maxlength="20">
<input name="formSITETYPE" type="hidden" id="formSITETYPE" value="3">
</p>
<p>
<input name="Submit" type="submit" class="form-standard" value="Submit">
</p>
</form>
ASP koden:
<%
set conn = Server.CreateObject("ADODB.Connection")
Session("MyConn") = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.Mappath("settings.mdb") & ";"
Set Upload = Server.CreateObject("Persits.Upload.1")
Upload.OverwriteFiles = false
Upload.SetMaxSize 1000000, True
Upload.SaveVirtual ("pictures/")
strMENUCATTJEK = Upload.Form("formMENUCAT")
strHEADLINETJEK = Upload.Form("formHEADLINE")
strTEXTTJEK = Upload.Form("formTEXT")
strLINKNAMETJEK = Upload.Form("formLINKNAME")
strSITETYPETJEK = Upload.Form("formSITETYPE")
If strMENUCATTJEK = "" then
Response.Write("Please fill in all fields!")
else
For Each File in Upload.Files
File.ToDatabase Session("MyConn"), "insert into SUBSITES(PICTURE, MENUCAT, HEADLINE, [TEXT], SITETYPE, LINKNAME) " &_
"values('"& File.ExtractFileName & "', '" & Upload.Form("formMENUCAT") & "', '" & Upload.Form("formHEADLINE") & "', '"&Upload.Form("formTEXT")&"', '" & Upload.Form("formSITETYPE") & "', '" & Upload.Form("formLINKNAME") & "')"
'File.ToDatabase Session("MyConn"), "insert into SUBSITES([PICTURE], [HEADLINE], [TEXT], [MENUCAT], [LINKNAME], [SITETYPE]) " &_
'"values('"& File.ExtractFileName & "', '" & Upload.Form("formHEADLINE") & "', '" & Upload.Form("formTEXT") & "', '"&Upload.Form("formMENUCAT")&"','" & Upload.Form("formLINKNAME") & "','" & Upload.Form("formSITETYPE") & "')"
if Err <> 0 Then
Response.Write "<font class=""maintekst"">Error occured! : " & Err.Description
Else
Response.Write "<font class=""maintekst"">Subsite submitted</font>"
End If
Next
End if
%>
Koden der udmildbart er problemer med er denne linie:
Set Upload = Server.CreateObject("Persits.Upload.1")
Problemet er at jeg ville lave et javascript til at tjekke om der er indtastet noget i felterne, dette virker også fint, bare ikke med dette upload af fil script :(
