webForumDet fria alternativet
Logga in / Bli medlem

Plocka ut igen...

ASP

5 svar · 228 visningar · startad av Rinaldo

Medlem sedan mars 20014 214 inlägg
Trådstart#1

Jag har en lista med obligatoriska fält uppdelade med ; (som vanligt)

Jag radar upp fält i ett formulär och några av dem kommer ju ha samma namn som något av de namnen i listan med obligatoriska fält.

Hur ska jag nu göra för att splitta upp de olika namnen och jämföra dem namnet som fältet just nu har... typ

strField.Name är vad fältet heter och jag vill kolla om det finns ett namn i obligatoriska listan som matchar... då ska den skriva ut *

Medlem sedan dec. 200012 464 inlägg
#2

if instr(";" & strField.name & ";" , ";" & listan & ";") > 0 then
'namnet finns med

Medlem sedan mars 20014 214 inlägg
#3

if instr(";" & strField.name & ";" , ";" & strProfileRequired & ";") > 0 then 
strValue = "*"
else
strValue = ""
end if

'den som jag gjorde
strRequired = Split(strProfileRequired,";")
for i = 0 to ubound(strRequired)
if strField.Name = strRequired(i) then
strValue = "*"
else
strValue = ""
end if
next

Antar att dessa är ganska lika, men ingen av dom fungerar. När jag försöker skriva ut variabeln händer ingenting trots att namnet finns med i listan.
När jag istället lägger in det namnet som jag vet finns, alltså inte ur en arrey så fungerar det utmärkt.

Någonting?

R: Detta fungerar tex utmärkt.

if strField.Name = "username" then
strValue = "*"
else
strValue = ""
end if
Medlem sedan dec. 200012 464 inlägg
#4

Är det något problem med små och stora bokstäver?

Instr och = gör skillnad på dem.

Medlem sedan mars 20014 214 inlägg
#5

Nej. I formulärsnamnen är med små bokstäver liksom dom i listan...

Lite mer kod

For each strField in rsGetFields.Fields
	strFieldType = rsGetFields(strField.Name).type
	'Kollar vilka fält som är undantag för registreringen
	
	if Instr(strProfileRegister, strField.Name & ";") > 0 then 
	     Response.write ""
	else
	'Fixar korrekta namn för fälten
	set rsGetFieldName = Server.CreateObject("adodb.recordset")
	sqlGetFieldName = "Select * from tblPublicNames where fieldName = '"&strField.Name&"'"
	rsGetFieldName.Open sqlGetFieldName, Conn
	
		if instr(";" &strField.name&";",";"&strProfileRequired&";") > 0 then 
		strValue = "*"
		else
		strValue = ""
		end if
	
	response.write"<tr><td bgcolor="&strTblColor1&" width=""130"" valign=""top"">"
    response.write " "&rsGetFieldName("Public_fieldName")&": "&strValue&" "&_
				  "</td><td bgcolor="&strTblColor1&">"
Medlem sedan mars 20014 214 inlägg
#6

ahh... det löste sig... gjorde om din kod lite utan att veta vad jag höll på med men det funkade ;)

if instr(";"&strProfileRequired, strField.Name) > 0 then

Är det något fel på den??

262 ms totalt · 4 externa anrop · v20260731065814-full.51f67c91
128 ms — deklarationer (db)
0 ms — hämta statistik (cache)
132 ms — hämta tråd, inlägg och bilagor (db)
128 ms — ändringar (db)