Avatar billede sesam Nybegynder
17. juli 2002 - 11:17 Der 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
%>

Hvad er problmet?
Avatar billede keysersoze Ekspert
17. juli 2002 - 11:22 #1
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
Avatar billede sesam Nybegynder
17. juli 2002 - 11:24 #2
Hej igen Keyeser: Hvad gør jeg så?
Avatar billede coolcoder Nybegynder
17. juli 2002 - 11:28 #3
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
%>
Avatar billede keysersoze Ekspert
17. juli 2002 - 11:29 #4
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;
}

</script>

'loop

<a href=""java script:confirmMsgUrl('Vil du slette markedet \'" & rs("navn") & "\'?','markedsdelete.asp?id=" & rs("id") & "')"" class=""option"">SLET</a>

'etc
Avatar billede coolcoder Nybegynder
17. juli 2002 - 11:30 #5
...ups!! Din javaScript-function skal være

...
function confirm_entry(id){
...

altså uden "gruppe" - min fejl!
Avatar billede sesam Nybegynder
17. juli 2002 - 15:05 #6
Takker
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester