11. august 2002 - 19:36Der er
17 kommentarer og 1 løsning
Onchange
Hejsa har et lille problem med noget onchagne
kode .: --onchange i dropdownbox-- <select name="hprodukt" onChange="location.href='default2.asp?vis=2&hprodukt='+options[selectedIndex].value"> <option> Vælg varegruppe</option> <% IF NOT RS.EOF THEN Do Until RS.EOF %> <option><%=RS("varegrp_navn")%></option> <% RS.Movenext LOOP END IF %> </select>
--fange værdierne fra querystring--
IF request.querystring("hprodukt") <> "" THEN session("hprodukt") = request.querystring("hprodukt") END IF
--slutkode--
problemet er, tror jeg, at jeg aldrig for noget ind i den querystring..hvof ik ?
onchange er korrekt i select kommandoer. der skal tilføjes this. to steder, og self. eet sted i din onchange: onChange="self.location.href='default2.asp?vis=2&hprodukt='+this.options[this.selectedIndex].value">
<option> Vælg varegruppe</option> <% IF NOT RS.EOF THEN Do Until RS.EOF %> <option value="<%=RS("varegrp_navn")%>"><%=RS("varegrp_navn")%></option> <% RS.Movenext LOOP END IF
kan du evt vis det tilsvarende stykke htmlkode som din .asp fil sender til browseren? Det kan give problemer hvis din variabel varegrp_navn indeholder sære tegn.
jamen det kan jeg da :) <select name="hprodukt" onChange="self.location.href='default2.asp?vis=2&hprodukt='+this.options[this.selectedIndex].value"> ---
mestendels er de fine. men enkelte, som fx: "Flåede tomater", skal lige rettes til for at blive afsendt korrekt som url-parameter: <select name="hprodukt" onChange="self.location.href='default2.asp?vis=2&hprodukt='+escape(this.options[this.selectedIndex].value)">
ved at escape værdien bliver blanktegnet og det danske å ført sikkert over.
men selv uden det burder der komme noget igennem nu ? ? ?
prøv at sætte en midlertidig debug-sætning ind foran if:
response.write( request.querystring("hprodukt") ) 'hvordan det nu skrives i ASP IF request.querystring("hprodukt") <> "" THEN session("hprodukt") = request.querystring("hprodukt") END IF
Oh det virker, så længe jeg ikke roder javascript ind i det, og den eneste grund til det var at jeg vilel sleppe for at folk skulle trykke på en submit knap -- sådan ser hele koden ud response.write request.querystring("hprodukt")
IF not request.servervariables("REQUEST_METHOD") = "POST" AND NOT Request.querystring("i") = "yes" AND request.querystring("hprodukt")= "" THEN Session("hprodukt") = "" END IF
IF request.querystring("hprodukt") <> "" THEN session("hprodukt") = request.querystring("hprodukt") END IF
IF request.form("form2") <> "" THEN
varenr = request.form("varenr") varenavn = request.form("varenavn") varegrp = request.form("varegrp") pris = request.form("pris") stk = request.form("stk") pris_stk = cint(pris)/cint(stk) enhed = request.form("enhed") kolli = request.form("kolli") tilbud = request.form("tilbud") if tilbud = "on" then tilbud = 1 else tilbud = 0 end if dato_fra = request.form("dato_fra") if dato_fra <> "" then dato_fra = "20" & mid(dato_fra,5,2) & mid(dato_fra,3,2) & mid(dato_fra,1,2) else dato_fra = 0 end if
dato_til = request.form("dato_til") if dato_til <> "" then dato_til = "20" & mid(dato_til,5,2) & mid(dato_til,3,2) & mid(dato_til,1,2) else dato_til = 0 end if
<option> Vælg varegruppe</option> <% IF NOT RS.EOF THEN Do Until RS.EOF %> <option value="<%=RS("varegrp_navn")%>"><%=RS("varegrp_navn")%></option> <% RS.Movenext LOOP rs.close set rs = nothing conn.close set conn = nothing END IF %> </select> </td> <td align="right"> <input type="submit" name="form1" value="Vælg"> </td> </tr> </form> </table> <!-- hoved produkt table slut --> </fieldset> </td> <td width="70%"> <fieldset> <legend class='skrifth'>Valgte varegruppe </legend> <!-- info produkt table --> <table class='skrift' border="0"> <tr> <td> <% IF session("hprodukt") = "" THEN %> Du har valgt at tilføje produkter til dit katalog. Du skal nu vælge i hvilken varegruppe du vil tilføje et produkt. <% ELSE %> Du har valgt at tilføje produkt(er) til <b><%=session("hprodukt")%></b> gruppen. <% END IF %> </td> </tr> </table> <!-- info produkt table slut --> </fieldset> </td> </tr> <tr> <td colspan="2" width="76%"> <% IF session("hprodukt") <> "" THEN Set Conn = Server.createobject("ADODB.Connection") conn.open "Provider=Microsoft.jet.OLEDB.4.0;Data Source=" & server.mappath(source) Set RS = Server.createObject("ADODB.Recordset") SQL = " SELECT varegrp_ID, varegrp_NAVN FROM tblVaregrp" SQL = SQL & " ORDER BY varegrp_ID" RS.open SQL,Conn %> <fieldset> <legend class='skrifth'>Varegrupper </legend> <table class='skrift' border="0"> <% Do Until RS.EOF
response.write "<tr>" For i = 0 to 5 IF NOT RS.EOF THEN IF Session("hprodukt") = RS("varegrp_navn") THEN ID = RS("varegrp_id") response.write "<td align='right'><b>" & RS("varegrp_id") & "</b></td><td align='center' width='5px'><b>=</b></td><td width='120'><b>" & RS("varegrp_navn") & "</b></td>" ELSE response.write "<b><td align='right'>" & RS("varegrp_id") & "</td><td align='center' width='5px'>=</td><td width='120'>" & RS("varegrp_navn") & "</td></b>" END IF rs.movenext END IF NEXT Response.write "<tr>" LOOP rs.close set rs = nothing conn.close set conn = nothing %> </table> </fieldset> </td> </tr> <tr> <td colspan="2" width="76%"> <fieldset> <legend class='skrift'>Tilføjelse til <b><%=session("hprodukt")%></b> gruppen </legend> <table class='skrift' border="0"> <form action="" method="post"> <tr class='skrifth1'> <td width="70px"> Varenr. </td> <td width="210px"> Varenavn </td> <td width="70px"> Pris </td> <td width="52px"> Stk </td> <td width="52px"> Enhed </td> <td width="52px"> Kolli </td> <td width="22px" align='center'> T </td> <td width="75px"> Dato fra </td> <td width="75px"> Dato til </td> </tr> <tr> <td width="70px"> <input type="hidden" name="varegrp" value='<% =id %>' /> <input type="text" name="varenr" size="9"> </td> <td width="210px"> <input type="text" name="varenavn" size="34"> </td> <td width="70px"> <input type="text" name="pris" size="7"> </td> <td width="52px"> <input type="text" name="stk" size="4"> </td> <td width="52px"> <input type="text" name="enhed" size="5"> </td> <td width="52px"> <input type="text" name="kolli" size="5"> </td> <td width="22px"> <input type="checkbox" name="tilbud"> </td> <td width="75px"> <input type="text" name="dato_fra" size="6"> </td> <td width="75px"> <input type="text" name="dato_til" size="6"> </td> <td align="right"> <input type="submit" name="form2" value="Tilføj"> </td> </tr> </form> </table> </fieldset> </td> </tr> <tr> <td colspan="2" width="76%" height="30%"> <fieldset> <legend class='skrift'>Produkter i <b><%=session("hprodukt")%></b> gruppen.</legend> <table border="0" width="740"> <% Source = "db/" & Session("ID") & "/" & Session("ID") & ".mdb" Set Conn = Server.createobject("ADODB.Connection") conn.open "Provider=Microsoft.jet.OLEDB.4.0;Data Source=" & server.mappath(source) Set RS = Server.createObject("ADODB.Recordset") SQL = " SELECT tblProdukter.varenr, tblProdukter.varenavn, tblProdukter.varegrp, tblProdukter.pris," SQL = SQL & " tblProdukter.stk, tblProdukter.enhed, tblVaregrp.varegrp_ID, tblVaregrp.varegrp_navn," SQL = SQL & "tblProdukter.Tilbud, tblProdukter.kolli, tblProdukter.Dato_fra, tblProdukter.Dato_til" SQL = SQL & " FROM tblProdukter INNER JOIN tblVaregrp ON tblProdukter.Varegrp = tblVaregrp.Varegrp_ID" SQL = SQL & " WHERE tblVaregrp.Varegrp_navn ='" & Session("hprodukt") & "'" SQL = SQL & " ORDER BY tblProdukter.varenr DESC" RS.open SQL,Conn IF not RS.EOF THEN %> <tr class='skrifth1'> <td width="70px"> Varenr. </td> <td width="210px"> Varenavn </td> <td width="70px"> Pris </td> <td width="52px"> Stk </td> <td width="52px"> Enhed </td> <td width="52px"> Kolli </td> <td width="22px" align="center"> T </td> <td width="75px"> Dato fra </td> <td width="75px"> Dato til </td> </tr> </table> <div style="overflow:auto; height:100px; margin:0px 0px 0px 0px;"> <table border="0" width="740"> <% do until rs.eof if RS("Dato_fra") <> "" then Dato_fra = mid(RS("Dato_fra"),7,2) & mid(RS("Dato_fra"),5,2) & mid(RS("Dato_fra"),3,2) else Dato_fra = "" end if if RS("Dato_til") <> "" then Dato_til = mid(RS("Dato_til"),7,2) & mid(RS("Dato_til"),5,2) & mid(RS("Dato_til"),3,2) else Dato_til = "" end if if RS("tilbud") = 1 then tilbud = "checked" else tilbud = "" end if %> <tr class='skrift'> <td width="70px"> <%=rs("varenr")%> </td> <td width="210px"> <%=rs("varenavn")%> </td> <td width="70px"> <%=rs("pris")%> </td> <td width="52px"> <%=rs("stk")%> </td> <td width="52px"> <%=rs("enhed")%> </td> <td width="52px"> <%=rs("kolli")%> </td> <td width="22px"> <input type="checkbox" <% =tilbud %>> </td> <td width="75px"> <%=dato_fra%> </td> <td width="75px"> <%=dato_til%> </td> </tr> <% rs.movenext loop %> </table> </fieldset> </div> <% END IF rs.close set rs = nothing conn.close set conn = nothing END IF %> </td> </tr> </table> <!--maintable slut-->
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.