17. juli 2002 - 11:17Der er
4 kommentarer og 2 løsninger
Javascript alert
Jeg skriver alle poster ud fra databasen og tilknytter dette script til hver en post. Når der trykkes på slet popper der en alert box op og spørger om man vil slette, trykkes der ja bliver posten slette via dette link: document.location.href="slet_varegruppe.asp?id=<% = RS("varetypeId")%>&gruppe=<%= Request.Querystring("gruppe")%>";
Men ligegyldigt hvilken post jeg vælger sletter den altid den sidste post i rækken?
------Skriver poster ud------------- <% while not rs.eof %> <script type="text/javascript"> function confirm_entry(){ input_box=confirm("Er du sikker på at du vil slette denne post!"); if (input_box==true){ document.location.href="slet_varegruppe.asp?id=<% = RS("varetypeId")%>&gruppe=<%= Request.Querystring("gruppe")%>"; } else{ document.location.href="produkter.asp?id=<% = RS("varetypeid")%>&gruppe=<%= gruppe %>"; } } --> </script>
<td valign="top" align=center class=border_bottom_right><a href="rediger_undervaregruppe.asp?id=<% = RS("varegruppeId")%>&gruppe=<%= Request.Querystring("gruppe")%>&typeid=<% = RS("varetypeid")%>&type=<%= request.querystring("type")%>"><img src="../images/beskrivelse_b.gif" alt="" width="14" height="17" border="0"></a></td> <td valign="top" class=border_bottom_right><a href="java script:confirm_entry()"><img src="../images/delete.gif" alt="" width="14" height="16" border="0"></td> <% rs.MoveNext wend response.write "<tr><td valign=""top"">" Response.Write "" & strLink2 response.write "</td></tr><tr><td>" if rs.eof then response.write "<b>ikke flere poster</b></td></tr>" end if %>
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
fordi du i javascript KUN kan have EEN funktion der hedder "confirm_entry" - så fordi du lader javascriptet indgå i loopen vil der blive produceret en masse javascripts, men fordi de alle hedder det samme er det kun den sidste der vil virke - og det er den sidste post
derfor må du IKKE lade javascriptet indgå i dit loop
du laver en JavaScript-function med samme navn mange gange i dit DB-loop. Når du så kalder functionen, vil det altid være den sidste af dem der bliver kaldt.
Du skal enten flytte functionen ud af loopet og kalde den med parametre, eller navngive dem forskelligt. Første løsning er nok bedst.
Noget i stil med:
<script type="text/javascript"> <!-- function confirm_entry(id, gruppe){ input_box=confirm("Er du sikker på at du vil slette denne post!"); if (input_box==true){ document.location.href="slet_varegruppe.asp?id="+id+"&gruppe=<%= Request.Querystring("gruppe")%>"; } else{ document.location.href="produkter.asp?id="+id+"&gruppe=<%= Request.Querystring("gruppe")%>"; } } --> </script> <% while not rs.eof %>
<td valign="top" align=center class=border_bottom_right><a href="rediger_undervaregruppe.asp?id=<% = RS("varegruppeId")%>&gruppe=<%= Request.Querystring("gruppe")%>&typeid=<% = RS("varetypeid")%>&type=<%= request.querystring("type")%>"><img src="../images/beskrivelse_b.gif" alt="" width="14" height="17" border="0"></a></td> <td valign="top" class=border_bottom_right><a href="java script:confirm_entry('<%=RS("varetypeId")%>')"><img src="../images/delete.gif" alt="" width="14" height="16" border="0"></td> <% rs.MoveNext wend response.write "<tr><td valign=""top"">" Response.Write "" & strLink2 response.write "</td></tr><tr><td>" if rs.eof then response.write "<b>ikke flere poster</b></td></tr>" end if %>
du sætter dit javascript uden for loopet... nu er jeg for en gang skyld lidt flink, men det er også kun fordi der lige er kommet nyt net på kollegiet - og det sparker røv!!!
<script type="text/javascript">
function confirmMsgUrl(msg,url) { if(confirm(msg) == true) location.href = url; }
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.