Asa Medlem sedan dec. 2001 1 860 inlägg Frågan 20 nov. 2002 23:40 #1 Jag har en fil mån.txt där jag vill spara månadsnamn och dess nummer men hur ska jag skriva i filen! Ska sedan skriva ut allt i en <select> med månadens nummer som value. Men hur gör jag?!?!
<select name="birth_month">
<option value="nada">-- Mån --</option>
<option value="01">Januari</option>
<option value="02">Februari
<option value="03">Mars
<option value="04">April
<option value="05">Maj
<option value="06">Juni
<option value="07">Juli
<option value="08">Augusti
<option value="09">September
<option value="10">Oktober
<option value="11">November
<option value="12">December
</select>
Kan du inte köra komma-separerat!?
Eller byta rad efter varje kombination:
01 Januari
02 Februari
etc...
Asa Medlem sedan dec. 2001 1 860 inlägg Jag gjorde så här:
<%Set fso = CreateObject("Scripting.FileSystemObject")
set fil = fso.OpenTextFile(Server.Mappath("inc/mån.txt"), 1 )
arrFsoLines = Split(fil.ReadAll, vbcrlf)%>
<select name="birth_month">
<option value="nada">-- Mån --</option>
<%For i = 0 To ubound(arrFsoLines)
arrText = Split(arrFsoLines(i),"|")%>
<option value="<%=ArrText(0)%>"><%=ArrText(1)%>
<%Next %>
</select>
<%fil.Close%>
Sparade alla månader och nummer så här:
01|Januari
02|Februari
03|Mars
04|April
05|Maj
06|Juni
07|Juli
08|Augusti
09|September
10|Oktober
11|November
12|December
O OveRRidE Medlem sedan feb. 2001 12 078 inlägg En fråga; varför vill du lagra detta i ett datalager så opraktiskt som en textfil?
Asa Medlem sedan dec. 2001 1 860 inlägg Tar mindre plats än en databas och jag vill inte ha det direkt i koden!
M Macce Medlem sedan apr. 2001 425 inlägg Gör en funktion eller sub istället :)
Göm sedan funktionen i en include, så slipper du se den så ofta i koden ;)
<%=SelectBox(birth_month)%>
<%Function SelectBox(name)
strHtml = "<select name='" & name & "'>" & Vbcrlf &_
"<option value='nada'>-- Mån --</option>" & Vbcrlf &_
"<option value='01'>Januari</option>" & Vbcrlf &_
"<option value='02'>Februari</option>" & Vbcrlf &_
"<option value='03'>Mars</option>" & Vbcrlf &_
"<option value='04'>April</option>" & Vbcrlf &_
"<option value='05'>Maj</option>" & Vbcrlf &_
"<option value='06'>Juni</option>" & Vbcrlf &_
"<option value='07'>Juli</option>" & Vbcrlf &_
"<option value='08'>Augusti</option>" & Vbcrlf &_
"<option value='09'>September</option>" & Vbcrlf &_
"<option value='10'>Oktober</option>" & Vbcrlf &_
"<option value='11'>November</option>" & Vbcrlf &_
"<option value='12'>December</option>" & Vbcrlf &_
"</select>" & Vbcrlf
SelectBox = strHtml
End Function %>
Asa Medlem sedan dec. 2001 1 860 inlägg Hur ska ni ha det? Hehe!
Vad är bäst tycker ni?
Så lite plats som möjligt men det ska vara enkelt att ändra! Kommer användas på flera ställen så det är skönt å slippa ändra på flera ställen!
M Macce Medlem sedan apr. 2001 425 inlägg Kan användas på fler ställen och får mer överskådlig kod...
Kan sen anpassas enklare om man vill göra förändrdingar
som tex flera språk etc.
M Macce Medlem sedan apr. 2001 425 inlägg Tycker absolut du ska använda min funktion i en include !
O OveRRidE Medlem sedan feb. 2001 12 078 inlägg Ett litet förslag bara;
<%=SelectBox(birth_month)%>
<%
Function SelectBox(name)
strHtml = "<select name=""" & name & """>" & Vbcrlf &_
"<option value=""nada"">-- Mån --</option>" & Vbcrlf &_
"<option value=""01"">Januari</option>" & Vbcrlf &_
"<option value=""02"">Februari</option>" & Vbcrlf &_
"<option value=""03"">Mars</option>" & Vbcrlf &_
"<option value=""04"">April</option>" & Vbcrlf &_
"<option value=""05"">Maj</option>" & Vbcrlf &_
"<option value=""06"">Juni</option>" & Vbcrlf &_
"<option value=""07"">Juli</option>" & Vbcrlf &_
"<option value=""08"">Augusti</option>" & Vbcrlf &_
"<option value=""09"">September</option>" & Vbcrlf &_
"<option value=""10"">Oktober</option>" & Vbcrlf &_
"<option value=""11"">November</option>" & Vbcrlf &_
"<option value=""12"">December</option>" & Vbcrlf &_
"</select>" & Vbcrlf
SelectBox = strHtml
End Function
%>
Asa Medlem sedan dec. 2001 1 860 inlägg Så hade ju redan Macce skrivit?!?
O OveRRidE Medlem sedan feb. 2001 12 078 inlägg Korrekt. Men han använde ' istället för ", vilket inte är korrekt HTML. Använder man dubbla " så blir det rätt. :)
Det är bara ett förslag på ändring, det funkar givetvis kanonbra med Macce:s exempel också! :)
Moraltant, javet. ;)
@nders Medlem sedan juni 2000 32 967 inlägg Visserligen är det faktiskt lika korrekt HTML att använda apostrofer istället för citationstecken, i alla fall enligt w3c, men det är i alla fall mycket vackrare med citationstecken. ;)
Mvh,
Asa Medlem sedan dec. 2001 1 860 inlägg Ahh - okej! Tackar båda två! Få se hur jag gör!
Asa Medlem sedan dec. 2001 1 860 inlägg Har ett annat problem! Med txt fil å skriv ut:
<%Set fso = CreateObject("Scripting.FileSystemObject")
set fil = fso.OpenTextFile(Server.Mappath("inc/civil.txt"), 1 )
arrFsoLines = Split(fil.ReadAll, vbcrlf)%>
<select name="civil" style="width: 200px;">
<option value="nada">-- Välj --</option>
<%For i = 0 To ubound(arrFsoLines)
arrText = Split(arrFsoLines(i),"|")%>
<option value="<%=arrText(0)%>"><%=arrText(1)%>
<%Next %>
</select>
<%fil.Close%>
Så här ser det ut i txt filen
1|Kilar stadigt
2|Singel
3|Dejtar någon
4|Förlovad
5|Gift
6|Låt mig va
7|Raggar runt
8|Sambo
9|Spanar
10|Öppen för förslag
11|Särbo
12|Öken
13|Ta mig nu
Får felmess:
Feltyp:
Körningsfel i Microsoft VBScript (0x800A0009)
Felaktigt matrisindex: '[number: 0]'
/chippiland/blimedlem.asp, line 202
Denna rad: <option value="<%=arrText(0)%>"><%=arrText(1)%>
O OveRRidE Medlem sedan feb. 2001 12 078 inlägg
@nders skrev:
Visserligen är det faktiskt lika korrekt HTML att använda apostrofer istället för citationstecken, i alla fall enligt w3c, men det är i alla fall mycket vackrare med citationstecken. ;)
Mvh,
Är det? :o Jag har fått förklarat motsatsen..
M Macce Medlem sedan apr. 2001 425 inlägg Jag använder båda sätten lika mycket, men man kanske ska
gå över till " helt och hållet, vad säger exempelvis xml om ' istället för " ? nån som vet ?
@nders Medlem sedan juni 2000 32 967 inlägg I XML är det mig veterligen helt okej att använda apostrofer istället för citationstecken.
Mvh,