webForumDet fria alternativet

Plocka ut igen...

5 svar · 227 visningar · startad av Rinaldo

RinaldoMedlem sedan mars 20014 214 inlägg
#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 *

LarsGMedlem sedan dec. 200012 464 inlägg
#2

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

RinaldoMedlem 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
LarsGMedlem 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.

RinaldoMedlem 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&">"
RinaldoMedlem 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??

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