webForumDet fria alternativet

Variabel fel

ASP

16 svar · 243 visningar · startad av Addeladde

Medlem sedan jan. 20013 406 inlägg
Frågan#1

Varför fungerar inte detta.

<% IF pryl_"& nr &" <> "" THEN reponse.write "checked value ""ON """ END IF%>

nr är en variabel

Jag får felmeddelandet

Feltyp:
Kompileringsfel i Microsoft VBScript (0x800A03F9)
'Then' förväntas.
/td/utfard/boka.asp, line 716, column 8
IF pryl_"& nr &" <> "" THEN reponse.write "checked value ""ON """ END IF
-------^

------------------
Adde

Medlem sedan juni 20008 205 inlägg
#2

Du får lista ut själv, men jag markerar de delar som scriptmotorn anser är strängar:

IF pryl_"& nr &" <> "" THEN reponse.write "checked value ""ON """ END IF

Ser något fel ut, månntro?

------------------
The mud can make you prisoner, the plains can make you dry,
the snow can burn your eye but only people make you cry...

Medlem sedan jan. 20013 406 inlägg
#3

Förklara lite bättre "strängar"?
Jag har lite ont om tid. Jag skulle säkert kunna lösa det själv genom att pröva lite men det går snabbare att få svar här

------------------
Adde

Medlem sedan juni 20019 024 inlägg
#4

IF pryl_&nr <> "" Then ...

borde det väl vara?

------------------
Peter D

Medlem sedan jan. 20013 406 inlägg
#5

Tack Pace det fungerade :)

------------------
Adde

Medlem sedan jan. 20013 406 inlägg
#6

Var lite snabb med att skriva att det fungerade. Jag får inget felmeddelande men det fungerar inte. Rutan blir inte kryssad.

------------------
Adde

Medlem sedan dec. 200012 464 inlägg
#7

Vad är pryl_?

Försöker du skapa variabler dynamiskt, så går det inte.

------------------
essentitia preter non sans multiplicandum

Medlem sedan jan. 20013 406 inlägg
#8

Så här ser hela koden ut

<% 
                numcols=3
                pryl = 1
                Do until hyraRS.EOF
              
                response.write "<TR>"
      			  for i=1 to numcols
         			  response.write "<TD>"
         			  if hyraRS.eof then
           		   response.write "&nbsp;"
         			  else
         			  IF utfardHyrperiod = 1 THEN
         			  %>
            		  <input type="checkbox" name="pryl_<%=pryl%>" value="<%=hyraRS("hyra_sverige_dag")%>"><font size="1" face="Verdana">
            		  <% 
            		  end if 
            		  IF utfardHyrperiod = 2 THEN
            		  %>
            		  <input type="checkbox" name="pryl_<%=pryl%>" value="<%=hyraRS("hyra_sverige_helg")%>"><font size="1" face="Verdana">
					  <%
            		  end if 
            		  IF utfardHyrperiod = 3 THEN
            		  %>
                      <input type="checkbox" name="pryl_<%=pryl%>" value="<%=hyraRS("hyra_sverige_vecka")%>" <% IF pryl_&pryl <> "" THEN reponse.write "checked value ""ON """ END IF%>><font size="1" face="Verdana">
            		  <%
            		  end if
            		    
            		    pryl = pryl + 1
            		    response.write hyraRS("hyra_namn")
            		    
            		    hyraRS.movenext
         			  end if
         			    response.write "</TD>"
      				  next
      				    response.write "</TR>"
   					  loop 
					%>
					                  
                </font>
              </table>
 <% END IF %>

pryl_ är ingen variabel utan bara en text.

Det ska altaså vara exempelvis:

IF pryl_1 <> "" THEN
 response.write "checked value ""ON"""
END IF

------------------
Adde

Medlem sedan dec. 200012 464 inlägg
#9

Jag förstår inte riktigt vad du är ute efter.

<% 
numcols=3
pryl = 1
Do until hyraRS.EOF

response.write "<TR>"
for i=1 to numcols
response.write "<TD>"
if hyraRS.eof then
response.write " "
else
IF utfardHyrperiod = 1 THEN
%>
<input type="checkbox" name="pryl_<%=pryl%>" value="<%=hyraRS("hyra_sverige_dag")%>"><font size="1" face="Verdana"
<% 
if hyraRS("hyra_sverige_dag") then
   response.write "checked"
end if
%>
>
<% 
end if 
IF utfardHyrperiod = 2 THEN
%>
<input type="checkbox" name="pryl_<%=pryl%>" value="<%=hyraRS("hyra_sverige_helg")%>"><font size="1" face="Verdana"
<%if hyraRS("hyra_sverige_helg") <> "" then
  response.write "checked"
end if
%>
>
<%
end if 
IF utfardHyrperiod = 3 THEN
%>
<input type="checkbox" name="pryl_<%=pryl%>" value="<%=hyraRS("hyra_sverige_vecka")%>" 
<% IF hyraRS("hyra_sverige_vecka") <> "" THEN 
reponse.write "checked " 
END IF%>
><font size="1" face="Verdana">
<%
end if

pryl = pryl + 1
response.write hyraRS("hyra_namn")

hyraRS.movenext
end if
response.write "</TD>"
next
response.write "</TR>"
loop 
%>

</font>
</table>
<% END IF %>

------------------
essentitia preter non sans multiplicandum

Medlem sedan jan. 20013 406 inlägg
#10

Det är lite krångligt det kan jag hålla med om. Det hela är ett formulär som ska kontrolleras om alla uppgiter är rätt dock inte de checkboxar som finns i koden utan några andra fält. Om vi säger att besökaren har fylt i en felaktig epostadress så ska besökaren inte behöva fylla i checkboxarna en gång till.

Checkboxarna information hämtas från en databas och är prylar som man kan hyra.

Kortade ner koden lite nedan:

 <% 
                numcols=3
                pryl = 1
                Do until hyraRS.EOF
              
                response.write "<TR>"
      			  for i=1 to numcols
         			  response.write "<TD>"
         			  if hyraRS.eof then
           		   response.write "&nbsp;"
         			  else
         			  %>
            		  <input type="checkbox" name="pryl_<%=pryl%>" value="<%=hyraRS("hyra_sverige_dag")%>" <% IF pryl_&pryl <> " " THEN reponse.write "checked value ""ON """ END IF%>><font size="1" face="Verdana">
            		              		    
            		    pryl = pryl + 1
            		    response.write hyraRS("hyra_namn")
            		    
            		    hyraRS.movenext
         			  end if
         			    response.write "</TD>"
      				  next
      				    response.write "</TR>"
   					  loop 
					%>

När checkboxarna information matas ut från databasen får de ett "name"

Exempelvis pryl_1

Om vi nu säger att man fyllt i eposten felaktigt och man har kryssat i rutan pryl_1 så ska den visas ikryssad när sidan visas igen.

Nu blev jag nästan snurrig själv. Hänger Ni med.

------------------
Adde

Medlem sedan dec. 200012 464 inlägg
#11

Någon gör submit på ett formulär där vissa saker finns ikryssade. Du vill alltså om man på grund av ett fel blir tvungen att visa sidan igen så skall man komma ihåg vad som var ikryssat.

<% IF request.form("pryl_"&pryl) <> " " THEN 
response.write "checked" 
END IF%>><font size="1" face="Verdana">

Är det inte något sådant du vill ha?

Varför skriver du

reponse.write "checked value ""ON """

?

------------------
essentitia preter non sans multiplicandum

[Redigerat av LarsG den 25 aug 2001]

Medlem sedan jan. 20013 406 inlägg
#12

Precis det är något sådant jag vill åt.

Givetvis ska det bara vara checked

------------------
Adde

Medlem sedan jan. 20013 406 inlägg
#13

Jag får felmeddelandet

Feltyp:
Körningsfel i Microsoft VBScript (0x800A01A8)
Objekt krävs.: ''
/td/utfard/boka.asp, line 717

på raden

<input type="checkbox" name="pryl_<%=pryl%>" value="<%=hyraRS("hyra_sverige_dag")%>" <% IF request.form("pryl_"&pryl) <> "" THEN reponse.write "checked" END IF%>>

------------------
Adde

Medlem sedan dec. 200012 464 inlägg
#14

reponse är felstavat.

------------------
essentitia preter non sans multiplicandum

Medlem sedan juni 200032 967 inlägg
#15

lasse! :)

------------------
mördar-anders, det är jag.

[Redigerat av @nders den 25 aug 2001]

Medlem sedan jan. 20013 406 inlägg
#16

Tack nu löste det sig till slut

------------------
Adde

Medlem sedan maj 2001431 inlägg
#17

:)

------------------
En eller annan godbit från pannan

265 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
124 ms — deklarationer (db)
0 ms — hämta statistik (cache)
136 ms — hämta tråd, inlägg och bilagor (db)
126 ms — ändringar (db)