Avatar billede torbenmelander Nybegynder
16. november 2001 - 12:17 Der er 20 kommentarer og
1 løsning

Ubestemt checkbox

Jeg har en side med et ubestemt antal checkboxse

De hedder (ID og NAME) allesammen DefaultCheckbox_

hvor underscore er et nummer .. De har også et VALUE felt med dette nummer.

Når jeg submitter siden skal jeg løbe alle sammen igennem med min ASP-kode for at chekke om de er afkrydset..

Så kunne man jo lave en løkke men jeg ved ikke på forhånd hvor mange felter der er kryds i ..

Nogen gode ideer??
Avatar billede nute Nybegynder
16. november 2001 - 12:21 #1
<%
for each item in request.form
  if( InStr( item, \"DefaultCheckbox\" > 0 ) ) then
    verdi = request.form( item )
  end if
next
%>

/nute
Avatar billede larsen1 Nybegynder
16. november 2001 - 12:24 #2
Hvad med at gøre det med et javascript? - Så skal det kaldes inden submit....

¨<SCRIPT language=JavaScript>
<!--
function VerifyOne(group) {
var i;
  for (i=0;i<group.length;i++)
    if (group[i].checked) return true;
  return false;
}
// -->
</SCRIPT>
Avatar billede nute Nybegynder
16. november 2001 - 12:31 #3
larsen1 >> hvordan vil du så på serversiden legge de valgte checkboxer i fx en database ?? så skal man jo kjøre igjennom enda en sjekk ;-)
Avatar billede larsen1 Nybegynder
16. november 2001 - 12:39 #4
nute >> det kan du have ret i, hvis de valgte skal ind i en database, efterfølgende. Jeg foretrækker dog at checke om alt er udfyldt inden folk submitter noget, så de ikke skal udfylde alt forfra.
Avatar billede torbenmelander Nybegynder
16. november 2001 - 12:42 #5
Jeg får følgende fejl på din kode nute:

Type mismatch: \'[string: \"twDefaultCheckbox\"]\'
Avatar billede nute Nybegynder
16. november 2001 - 12:43 #6
tja...kan være enig, men jeg sitter inne med litt mer informasjon enn deg (da dette er en fortsettelse på en annen thread: http://www.eksperten.dk/spm/134139), så jeg vet at han skal sjekke *hvilke* som er avkrysset og ikke at man *skal* avkrysse gitte checkboxes

/nute
Avatar billede nute Nybegynder
16. november 2001 - 12:45 #7
ehhhh....det kan ikke komme fra min kode. Hvilken linje blir det referert til, og hva ligger i den linje ?
Avatar billede torbenmelander Nybegynder
16. november 2001 - 12:49 #8
Linie 46 .. din kode:

If( InStr(myItem, \"twDefaultCheckbox\" > 0 ) ) Then
Avatar billede torbenmelander Nybegynder
16. november 2001 - 12:50 #9
ups bare en forflyttet ) ...

If( InStr(myItem, \"twDefaultCheckbox\") > 0 ) Then
Avatar billede nute Nybegynder
16. november 2001 - 12:53 #10
ahh... sorry :( fungerer det så ?
Avatar billede torbenmelander Nybegynder
16. november 2001 - 14:40 #11
ja det virker nu .. tak for hjælpen nute ..

larsen1 > hvis jeg nu ville bruge dit javascript til at checke om boksene er udfyldt inden knappen submitter, hvad gør jeg så ??

Skal jeg tilføje denne kode til knappen:

ONCLICK=\"VerifyOne(this)\"

Submitter den så formen efter at koden er udført ??

Hvad hvis jeg gerne vil vise en meddelse hvis brugeren skal vælge bokse ??

Håber du kan svare på disse spørgsmål :-) Så kan i dele pointne ...

Avatar billede nute Nybegynder
16. november 2001 - 14:48 #12
torben >> hvis du modifiserer ditt script fra den andre thread, kan du gjøre følgende:

legg til:

onsubmit=\"return validateThis( this.form );\"

i ditt formtag. Deretter skriver du et valideringscript:

function validateThis( frm ){
count = 0;
for (var i=0;i< frm.elements.length;i++){
  var e = frm.elements[i];
  if ( ( e.name.indexOf(\'twDefaultCheckbox\') > -1 ) && (e.type==\'checkbox\') && e.checked ){
    count++;
  }
}
if( count == 0 ) {
  alert(\"Du skal kryssse av minst en mail\");
  return false;
}
return true;
}

/nute
Avatar billede larsen1 Nybegynder
16. november 2001 - 14:50 #13
Giv bare nute point.

Jeg kan ikke hjælpe dig, for jeg er ikke den store java-programmør, men du har fat i det rigtige idé med onsubmit i form-taggen. Så skal der lige tilføjes en else - alert....
Avatar billede torbenmelander Nybegynder
16. november 2001 - 14:52 #14
Når du skriver at jeg skal modificere det fra det andet indlæg mener du kun at jeg tilføje det onsubmit til formen ???

Jeg har fri nu, men vender tilbage senere ;-)
Avatar billede nute Nybegynder
16. november 2001 - 14:55 #15
du gjør følgende:

skriv ditt formtag sånn:

<FORM METHOD=\"post\" NAME=\"twDefaultForm\" onsubmit=\"return validateThis( this.form );\">

deretter legger du dette scriptet inn sammen med de andre scriptene du har skrevet:

function validateThis( frm ){
count = 0;
for (var i=0;i< frm.elements.length;i++){
  var e = frm.elements[i];
  if ( ( e.name.indexOf(\'twDefaultCheckbox\') > -1 ) && (e.type==\'checkbox\') && e.checked ){
    count++;
  }
}
if( count == 0 ) {
  alert(\"Du skal kryssse av minst en mail\");
  return false;
}
return true;
}

/nute

Avatar billede larsen1 Nybegynder
16. november 2001 - 15:07 #16
Jeps - det var lige det jeg mente.... Der kan i bare se at jeg havde ret. Nute skal ha\' point!
=)
Avatar billede excession Nybegynder
16. november 2001 - 16:44 #17
hey nute:
koden her

<%
for each item in request.form
  if( InStr( item, \"DefaultCheckbox\" > 0  ) then
    verdi = request.form( item )
  end if
next
%>

kan du ikke lige forklare hvad den gør for mig? :)

fordi jeg havde noget lignende hvor jeg skulle hente værdien fra et ubestemt antal checkboxe og bruge dem i en SQL sætningmen jeg endte med at lave en if sætning for hver checkbox ... lidt irriterende når man har 20 checkboxe eller sådan noget

-- xs
Avatar billede torbenmelander Nybegynder
16. november 2001 - 19:15 #18
Jeg kan da prøve at forklare det:

<%
dim antalbokse = 0

\'Her laver vi en løkke der løber alt det er der blevet submittet fra formen igennem (item er navnet på elementet på formen)
for each item in request.form
\'Her tjekker vi på om elementets navn er starter med DefaultCheckbox (så kan der stå 1,2,3 el 4 ... bagefter)
  if( InStr( item, \"DefaultCheckbox\") > 0  ) then
\'Hvis det er en af checkboxne kan vi her gøre hvad vi vil. F.eks. kunne man skrive
antalbokse = antalbokse + 1
  end if
next
%>

Håber det er en hjælp .. ellers kan nute måske forklare det bedre :-)
Avatar billede torbenmelander Nybegynder
16. november 2001 - 19:20 #19
Et sidespørgsmål:

Er der nogen der ved hvordan man kan have flere submitknapper på samme form ???
Avatar billede excession Nybegynder
16. november 2001 - 19:50 #20
ok tak :)

kan du ikke lave en if sætning på på submit knappen? :

<input type=\"submit\" name=\"gem\" value=\"send\">

IF request.form(\"gem\") = \"send\" THEN

SQLstmt = \"UPDATE ......\"

ELSE

SQLstmt = \"DELETE .....\"

END IF
Avatar billede torbenmelander Nybegynder
17. november 2001 - 10:49 #21
tak for hjælpen :-)
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