webForumDet fria alternativet

troligen enctype-fel!

2 svar · 452 visningar · startad av fakenick!

fakenick!Medlem sedan juli 2002202 inlägg
#1

jag har en sida.

där har jag haft så att man laddar upp en bild + information.
så fort man ville ändra på informationen var man tvungen
att ladda upp en bild. lite omständigt tycker jag.

detta har jag försökt att lösa idag med ett javascript som gör
att man väljer vart man skall skicka formuläret beroende på
om man kryssat i en ruta eller ej.

ikrysst = med bild
okrysst (;)) = utan bild

så här ser scriptet ut:

function picornot()
{if(document.form.checkbox.checked)
{document.form.file.disabled=false;document.form.action='status.asp';document.form.enctype='multipart/form-data';}
else {document.form.file.disabled=true;document.form.action='main.asp?p=EDITSTATUS';document.form.enctype='';}}

alltså... om checkboxen är ikryssad: då blir <input type="file">
inte längre disablad... och <form action=""> ändras mellan två
slutmål (bara ändra information/ladda upp bild + information)...

och sedan den sista funktionen i respektive del av scriptet är att
den ändrar enctype...

enctype="multipart/form-data" behövs för uppladdning av bilden och
ändras då ifall man vill ha uppladdning av bild.. varför jag inte satt
enctypen till endast multipart är för att man inte kan använda
request.form korrekt ifall man har den enctypen...

hoppas att alla är med mig så här långt och kan förklara en lösning
på mitt problem...

...som sagt... att jag inte kan använda request.form ifall jag endast
har enctype multipart...

har testat med att köra denna kod där jag endast vill ha uppdatering
av informationen:

Set UploadRequest = CreateObject("Scripting.Dictionary")
work = UploadRequest.Item("work").Item("Value")

men får objekt krävs... och jag är säker på att
request.form("work") innehåller ett värde..

men fungerar ej...

jag har testat att göra en if-sats efter att bilduppladdningsscriptet
sätter ut variablerna med uploadrequest... det fungerade.... men då
fungerade inte bildscriptet... körde on error resume next också eftersom
det inte fanns någon bild att ladda upp...

men då fungerade alltså inte bildscriptet...

men åter till detta javascript....

jag testade som sagt med att ändra enctypen genom detta javascript..
och när man inte använde sig av multipart så fungerade det inte... men
dock inte när man växlade till 'multipart/form-data' enligt scriptet...

så jag tror att scriptet inte riktigt skriver ut rätt... när jag väljer "bild-läget"
och sedan trycker submit så får jag felet såpass snabbt att jag tror att
problemet redan ligger i javascriptets utskrift av multipart/form-data....

men det är bara vad jag tror....

nu får ni äntligen tycka och tänka..... :)

är tacksam för svar!

mvh john norrby!

fakenick!Medlem sedan juli 2002202 inlägg
#2

lite hints :)

eftersom det varit dött på inlägg så försöker jag korta ner
problemet och därmed hålla mig till ett försök på lösning..

vill få detta att fungera:

från (sida1.asp):

<form method="post" action="sida2.asp" enctype="multipart/form-data">
<input type="hidden" value="tjena" name="hihi>

till (genom submit, sida2.asp):

Set UploadRequest = CreateObject("Scripting.Dictionary")
*hihi = UploadRequest.Item("hihi").Item("Value")

* där får jag detta fel:

Microsoft VBScript runtime error '800a01a8'
Object required: 'UploadRequest.Item(...)'

har sökt mycket efter detta.. och den enda förklaringen till detta
fel är att det inte finns något värde i uploadrequest:en.. men jag
vet att ett värde finns....

jag använder nämligen samma formulär till ett bilduppladdningsscript..
man skulle ju kunna slänga in all bildscriptskod för att slutligen få den
att fungera, men verkar inte så smart enligt mig.... :)

fortfarande tacksam för svar.... :)

fakenick!Medlem sedan juli 2002202 inlägg
#3

jag skriver ett nytt inlägg i forumet ASP. denna tråd kan den som vill ta bort.

267 ms totalt · 3 externa anrop · v20260731065814-full.30151723
132 ms — hämta forumlista (db)
132 ms — hämta statistik (db)
131 ms — hämta tråd, inlägg och bilagor (db)