Avatar billede kimkjær Nybegynder
15. februar 2001 - 13:40 Der er 20 kommentarer og
2 løsninger

Værdier fra en form med flere rækker

Hej alle, jeg er ikke den store Java udvikler, men jeg prøver mig lidt frem.

Jeg har en form hvor jeg præsentere en liste. i denne liste er der en radiobutton, og hvis denne radiobutto er valgt for en linie, og jeg trykke på min kanp (slet) vil jeg stille brugeren et spørgsmål om de virkelig vil slette recorden.

I formen er der et hidden felt id, hvor input tag\'et hedder id+det nummer den har (starter fra 1), samtidigt hedder radiobutton\'en valg+samme nummer.

Jeg har lavet følgende Javakode:
\"<SCRIPT language=\"JavaScript\">
<!--
function doSlet() {
    msg = \"Du er ved at slette.\" + document.opdater.ahid.value;
   
    var slet = confirm(msg);
   
    if (slet) {
        sletPath = \"test.asp?ID=\" + document.opdater.id.value;
        document.location = sletPath;
    }
}
-->
</SCRIPT>\"


Mit problem er at den selvfølgelig kun skal tage den række hvor radiobutton\'en er valgt - hvordan gør jeg det.

Jeg tilbyder 300 points da det haster.

På forhånd tak


Kim
Avatar billede kimkjær Nybegynder
15. februar 2001 - 13:42 #1
Der er en lille fejl i Javascriptet, da jeg skulle gøre det anonymt, glemte jeg at den ene ahid skulle omdøbes til id.

VH


Kim
Avatar billede netsrac Praktikant
15. februar 2001 - 13:44 #2
\"<SCRIPT language=\"JavaScript\">
<!--
function doSlet() {
    msg = \"Du er ved at slette.\" + document.opdater.ahid.value;
   
    var slet = confirm(msg);
   
    if (slet) {
        sletPath = \"test.asp?ID=\" + document.opdater.id[document.opdater.id.selectedIndex].value;
        document.location = sletPath;
    }
}
-->
</SCRIPT>\"

vist nok...
Avatar billede netsrac Praktikant
15. februar 2001 - 13:47 #3
\"<SCRIPT language=\"JavaScript\">
<!--
function doSlet() {
antalPoster = 10;
    msg = \"Du er ved at slette.\" + document.opdater.ahid.value;
   
    var slet = confirm(msg);
   
    if (slet) {
for (var i = 0; i <= antalPoster; i++)
{ if (document.opdater.id[i].checked)
  id = document.opdater.id[i].value;
}
        sletPath = \"test.asp?ID=\" + id;
        document.location = sletPath;
    }
}
-->
</SCRIPT>\"
Avatar billede netsrac Praktikant
15. februar 2001 - 13:52 #4
Hov havde vist ikke læst spørgsmålet ordentligt.

Skrot hidden feltet og kald radio knapperne for id og brug så dette script:

\"<SCRIPT language=\"JavaScript\">
<!--
function doSlet() {
antalPoster = 10;
    msg = \"Du er ved at slette.\" + document.opdater.ahid.value;
   
    var slet = confirm(msg);
   
    if (slet) {
for (var i = 0; i <= antalPoster; i++)
{ if (document.opdater.id[i].checked)
  id = document.opdater.id[i].value;
}
        sletPath = \"test.asp?ID=\" + id;
        document.location = sletPath;
    }
}
-->
</SCRIPT>\"
Avatar billede netsrac Praktikant
15. februar 2001 - 13:52 #5
antalPoster er antallet af radio buttons du har.
Avatar billede jakoba Nybegynder
15. februar 2001 - 14:06 #6
Istedet for antalPoster ku du evt skrive document.opdater.id.length
Så er der ingen variabel der skal opdateres.
Avatar billede kimkjær Nybegynder
15. februar 2001 - 14:11 #7
Tak for svarene, jeg har prøvet at implementere det, og jeg har nogle problemer med at den ikke finder den der er valgt.

Jeg har lige fundet frem til en kunde der kun giver en record, altså vælger jeg den første, eneste osv. og der siger at ID ikke er defineret. Nogle idéer?

Med hensyn til antal records sender jeg tallet med når jeg kalder javascriptet...


På forhånd tak


Kim
Avatar billede netsrac Praktikant
15. februar 2001 - 14:33 #8
Er det en javaScript fejl eller asp ?
Avatar billede kimkjær Nybegynder
15. februar 2001 - 14:35 #9
Hej netsrac

Fejlen er i javaScript, \"Fejl: \'id\' er ikke defineret\"

Avatar billede netsrac Praktikant
15. februar 2001 - 14:54 #10
\"<SCRIPT language=\"JavaScript\">
<!--
function doSlet() {
var id;
antalPoster = 10;
    msg = \"Du er ved at slette.\" + document.opdater.id.value;
   
    var slet = confirm(msg);
   
    if (slet) {
for (var i = 0; i <= antalPoster; i++)
{ if (document.opdater.id[i].checked)
  id = document.opdater.id[i].value;
}
        sletPath = \"test.asp?ID=\" + id;
        document.location = sletPath;
    }
}
-->
</SCRIPT>\"
Avatar billede netsrac Praktikant
15. februar 2001 - 14:55 #11
Hvis det ikke virker kan du ikke prøve at poste en HTML kilde som ASP scriptet generer?
Avatar billede kimkjær Nybegynder
15. februar 2001 - 15:07 #12
Html i to dele...

Første del (JAVASCRIPT)

<SCRIPT language=\"JavaScript\">
<!--
function doSlet(boligid, antal) {
var id;
antalPoster = antal;
    msg = \"Du er ved at slette.\";
   
    var slet = confirm(msg);
   
    if (slet) {
for (var i = 0; i <= antalPoster; i++)
{ if (document.opdater.aabenthus[i].checked)
  id = document.opdater.aabenthus[i].value;
}
        sletPath = \"aabenthus3.asp?ahID=\" + id + \"&boligid=\"+boligid;
    }
}
-->
</SCRIPT>


Anden del (Form)

<table width=\"100%\" cellspacing=\"0\" cellpadding=\"4\" border=\"0\">

<tr>
<td align=\"center\"><b>BoligID</b></td><td align=\"center\"><b>Dato</b></td><td align=\"center\"><b>Start kl.</b></td><td align=\"center\"><b>Slut kl.</b></td><td align=\"center\"><b>Postnr.</b></td><td align=\"center\"><b>Vælg</b></td>
<form name=\"opdater\" action=\"aabenthus4.asp\" method=\"post\"></tr>

<tr>
<td align=\"center\">60</td>
<td align=\"center\">Fre 16/02</td>
<td align=\"center\">10:00</td>
<td align=\"center\">12:00</td>
<td align=\"center\">XXXX</td>
<td align=\"center\"><input type=\"radio\" name=\"aabenthus1\" value=\"419\"></td>
</tr>


</table></td>
</tr>

<tr>
<td colspan=\"3\"><table width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" border=\"0\"><tr><td background=\"tal/linje.gif\"><img src=\"/images/spacer.gif\" width=\"1\" height=\"1\"></td></tr></table></td>
</tr>

<tr>
<td width=\"2%\"><img src=\"tal/2.gif\"></td>
<td width=\"68%\">Hvis du ønsker at redigere i det valgte arrangement, så tryk på Redigér.<br>Hvis du ønsker at slette det, så tryk på Slet.</td>
<td width=\"30%\"><input type=\"Submit\" value=\"Redigér\" style=\"font-family: verdana; font-size: 10px; width: 130\" id=button1 name=\"Rediger\"><br><input type=\"button\" value=\"Slet\" style=\"font-family: verdana; font-size: 10px; width: 130\" id=button1 name=\"Slet\" onClick=\"java script:doSlet(\'60, 1\');\"></form>





Håber det hjælper...

VH


Kim
Avatar billede netsrac Praktikant
15. februar 2001 - 15:42 #13
<SCRIPT language=\"JavaScript\">
<!--
function doSlet(boligid, antal) {
var id;
antalPoster = antal;
    msg = \"Du er ved at slette.\";
   
    var slet = confirm(msg);
   
    if (slet) {
for (var i = 0; i <= antalPoster; i++)
{ if (document.opdater.aabenthus1[i].checked)
  id = document.opdater.aabenthus1[i].value;
}
        sletPath = \"aabenthus3.asp?ahID=\" + id + \"&boligid=\"+boligid;
    }
}
-->
</SCRIPT>
Avatar billede kimkjær Nybegynder
16. februar 2001 - 11:05 #14
Hej igen netsrac

Den kommer aldrig videre...

Når jeg prøver at udskrive ID ved at indføre \"var test=confirm(id);

Får jeg at vide at ID er undefined...

Har du nogle idéer?

VH


Kim
Avatar billede netsrac Praktikant
16. februar 2001 - 11:18 #15
Jeg ved ikke lige hvad der skulle være galt.
Avatar billede kimkjær Nybegynder
16. februar 2001 - 11:28 #16
Jeg venter lige og ser om der er andre med gode forslag, eller får du mine points.

Tak for hjælpen.
Avatar billede olebole Juniormester
18. februar 2001 - 22:54 #17
<ole>
  <SCRIPT language=\"JavaScript\">
<!--
function doSlet(boligid, antal) {
var id;
antalPoster = antal;
    msg = \"Du er ved at slette.\";
   
    var slet = confirm(msg);
   
    if (slet) {
      for (var i = 0; i <= antalPoster; i++) {
      if (document.opdater.aabenthus1[i].checked==\"true\") {
        id = document.opdater.aabenthus1[i].value;
      }
      }
      sletPath = \"aabenthus3.asp?ahID=\" + id + \"&boligid=\"+boligid;
    }
}
// -->
</SCRIPT>

/mvh
</bole>
Avatar billede netsrac Praktikant
19. februar 2001 - 09:12 #18
<SCRIPT language=\"JavaScript\">
<!--
function doSlet(boligid, antal) {
var id;
antalPoster = antal;
    msg = \"Du er ved at slette.\";
   
    var slet = confirm(msg);
   
    if (slet) {
      for (var i = 0; i <= antalPoster; i++) {
      if (document.opdater.aabenthus1[i].checked==\"true\") {
        id = document.opdater.aabenthus1[i].value;
      }
      }
      sletPath = \"aabenthus3.asp?ahID=\" + id + \"&boligid=\"+boligid;
//Glemt denne linie
location.href = sletPath;
    }
}
// -->
</SCRIPT>
Avatar billede olebole Juniormester
19. februar 2001 - 09:52 #19
Ja, det synes logisk, at der skal ændres location til \'sletPath\'...fejlen lå dog - og har gjort det i alle svar i dette spm - i denne linje:
  if (document.opdater.aabenthus1[i].checked==\"true\") {
Man skal altid huske at checke på, om der returneres \'true\', når man spørger til, om en radio er sat til \'checked\' :))
/mvh
Avatar billede kimkjær Nybegynder
19. februar 2001 - 09:55 #20
Hej med jer.

Tak for hjælpen, det virker nu.

Jeg hr fordelt mine points mellem jer, 200 til netsrac og 100 til olebole.

Avatar billede olebole Juniormester
19. februar 2001 - 10:42 #21
...takker :)
Avatar billede netsrac Praktikant
19. februar 2001 - 11:52 #22
Tak :-)
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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