Varför vill du ha två olika select-boxar som innehåller samma data eller missförstår jag något?
------------------
essentitia preter non sans multiplicandum
4 svar · 194 visningar · startad av solbulle
Jag har nu en selectbox med data ur databasen, men hur gör jag loopen om jag vill fylla en till likadan under den nuvarande?
<%
Set rs=Server.CreateObject("ADODB.Recordset")
Set connect = Server.CreateObject("ADODB.Connection")
connect.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("db13.mdb")
SQL = "select Distinct(fld_p_id), fld_p_lastname, fld_p_firstname FROM tbl_person order by fld_p_lastname"
connect.Execute(SQL)
RS.open SQL,Connect
%>
<select name="select" class="input"><option selected value="Actorfield2" >Välj en skådespelare</option>
<% Do Until RS.EOF %>
<option value="<%= RS("fld_p_id")%>"><%= RS("fld_p_lastname") %> <%= RS("fld_p_firstname")%></option>
<%
RS.MoveNext
Loop
rs.close
set rs = nothing
connect.Close
set connect = nothing
%>
Detta är på väg att bli en inmatningssida till databasen.
(Övriga synpunkter mottages tacksamt.)
------------------
/solbulle
Hemmabio | Spelautomater | The Who
Varför vill du ha två olika select-boxar som innehåller samma data eller missförstår jag något?
------------------
essentitia preter non sans multiplicandum
Jag vill faktist ha två selectboxar med samma innehåll. Pga av att jag tänkte att man ska välja en person ur listan som tex huvudrollsinnehavare. Sen i den andra listan ska man välja biroller.
Synpunkter mottages gärna.
(Ska även ordna, med er hjälp ;) ett fält för inmatning av namn om inget i listan duger, men det kommer jag till.)
Till saken, jag löste problemet:
Hade glömt att avsluta selectboxen:
</select>
samt att sätta dit en:
RS.MoveFirst
gjorde susen.
<% Set rs=Server.CreateObject("ADODB.Recordset")
Set connect = Server.CreateObject("ADODB.Connection")
connect.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("db13.mdb")
SQL = "select Distinct(fld_p_id), fld_p_lastname, fld_p_firstname FROM tbl_person order by fld_p_lastname"
connect.Execute(SQL)
RS.open SQL,Connect
%>
<form>
<select name="select" class="input"><option selected value="Actorfield2" >Välj en skådespelare</option>
<% Do Until RS.EOF %>
<option value="<%= RS("fld_p_id")%>"><%= RS("fld_p_lastname") %> <%= RS("fld_p_firstname")%></option>
<%
RS.MoveNext
Loop
RS.MoveFirst
%>
</select>
<br>
<select name="select2" class="input"><option selected value="Actorfield2" >Välj en skådespelare</option>
<% Do Until RS.EOF %>
<option value="<%= RS("fld_p_id")%>"><%= RS("fld_p_lastname") %> <%= RS("fld_p_firstname")%></option>
<%
RS.MoveNext
Loop
%>
</select>
<%
rs.close
set rs = nothing
connect.Close
set connect = nothing
%>
------------------
/solbulle
Hemmabio | Spelautomater | The Who
[Redigerat av solbulle den 17 dec 2001]
För att spinna vidare på detta...
Om nu inte valen i selectboxen är tillfredställande har jag två textboxar brevid varje selectbox där man kan fyll i för & efternamn på en ny person man vill lägga till.
Jag har även nu ett javascript som kolla att man inte både valt en i selecten samt skrivit i textboxen.
Men... Hur gör jag för att jämföra att namnet man skrivit in i textboxarna inte finns i selectboxen?
Helst ska detta ske på denna sida, kanske måste ske med javascript antar jag, någon ide?
För mig ser det ut att bli en massa OR jämförelser???
Bifogar en fulversion av javascriptet:
<%'### DETTA ÄR DEN DYNAMISKA UPPBYGGNADEN AV JAVASCRIPTET SOM CHECKAR FORMULÄREN PÅ SIDAN.
'### EN ASP-FUNKTION SOM GENERERAR EN JAVASCRIPTSFUNKTION.
Response.Write("<SCRIPT LANGUAGE=""JavaScript"">")
Response.Write(vbCrLf)
Response.Write("function areusure(){" & vbCrLf)
Response.Write("if (document.addform.fld_mt_name.value ==''){" & vbCrLf)
Response.Write("alert(""Du måste fylla i en titel."");" & vbCrLf)
Response.Write("addform.fld_mt_name.focus();" & vbCrLf)
Response.Write(" return false;" & vbCrLf)
Response.Write("}" & vbCrLf)
Response.Write(vbCrLf)
chkjscript "Huvudroll"
chkjscript "Producent"
chkjscript "Regi"
chkjscript "Biroll"
function chkjscript(str1)
Response.Write("if (document.addform."&str1&".value >""0""){" & vbCrLf)
Response.Write("if (!(document.addform.firstname"&str1&".value =='')||!(document.addform.lastname"&str1&".value =='')){" & vbCrLf)
Response.Write(" hojt("""&str1&""");" & vbCrLf)
Response.Write("addform."&str1&".focus();" & vbCrLf)
Response.Write(" return false;" & vbCrLf)
Response.Write(" }" & vbCrLf)
Response.Write("}" & vbCrLf)
End function
Response.Write(" question = confirm(""Är du SÄKER på att du vill lägga till denna post?"")" & vbCrLf)
Response.Write(" if (question !=""0""){" & vbCrLf)
Response.Write(" }" & vbCrLf)
Response.Write("else" & vbCrLf)
Response.Write(" {" & vbCrLf)
Response.Write(" return false" & vbCrLf)
Response.Write("}" & vbCrLf)
Response.Write("}" & vbCrLf)
Response.Write(vbCrLf)
Response.Write("function hojt(str1){" & vbCrLf)
Response.Write("msg=msg=""Du har fyllt i för många personer\n""" & vbCrLf)
Response.Write("msg=msg + ""i raden "" + str1 + "".\nDu kan i dagsläget bara välja en\n""" & vbCrLf)
Response.Write("msg=msg + ""i listan eller fylla i en ny.""" & vbCrLf)
Response.Write("alert(msg);" & vbCrLf)
Response.Write("}" & vbCrLf)
Response.Write("</SCRIPT>" & vbCrLf)
%>
------------------
/solbulle
Hemmabio | Spelautomater | The Who
[Redigerat av solbulle den 21 dec 2001]
Fast vid närmare eftertanke är det nog trots allt bättre att lägga hela kontrollen, eftersom den är så pass komplex, på den "mottagande" aspsidan?
Annars kanske det kan vara en ide att namnge mina formulär fält typ field1, field2 osv för att sen loopa sig igenom dom?
Inga kommentarer, åsikter eller lösningar?
/r Jag kan rapportera att jag är hyfsat fel ute nu.
Den htmlsida som genereras av aspsidan är i nuläget 3211 rader...
------------------
/solbulle
Hemmabio | Spelautomater | The Who
[Redigerat av solbulle den 21 dec 2001]