Avatar billede larsen1 Nybegynder
19. juni 2001 - 16:32 Der er 6 kommentarer og
1 løsning

Validering af grupper af radiobuttons

Jeg har flere grupper af radiobuttons, som bliver lavet dynamisk fra en database. Hvordan i alverden får jeg valideret at der er foretaget et valg i alle grupper?
Jeg henter et varierende antal spørgsmål fra en database, med op til 5 svarmuligheder på hver. Derfor er det ikke til at vide på forhånd hvor mang der er i sidste ende.

Lidt forkortet, så ser koden således ud: (jeg ved den stadig er lang)

<%@language=vbscript%>
<html>
<head>
<meta http-equiv=\"Content-Type\" content=\"text/html; charset=iso-8859-1\">
<title>Poll</title>
</head>
    <body bgcolor=\"black\" leftmargin=\"0\" topmargin=\"0\" marginwidth=\"0\" marginheight=\"0\">
        <center>
            <table width=\"500\" border=\"1\" cellpadding=\"0\" cellspacing=\"0\" bgcolor=\"#323241\">
                <tr>
                    <td>
                        <center>
                        <br>
                                Poll
                        </center>
                        <p>
                       
<table width=\"90%\" border=\"0\" cellspacing=\"0\" cellpadding=\"1\" align=\"center\">
  <tr>
    <td align=\"center\"><div class=\"polllille\">
    <form method=\"get\" name=\"frmPollVote\" action=\"update_test.asp\">
      <%
     
dsn = \"DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=\" & Server.MapPath(\"../db/poll.mdb\")

set con = Server.CreateObject(\"ADODB.Connection\")
con.open(dsn)

    sql = \"SELECT * FROM polls ORDER By prioritet\"
    set r = con.execute(sql)
       
if not r.eof then

\'********* LOOP **********
    do while not r.eof
   

    strPollQuestion = r(\"sporgsmaal\")   

    intPollIDNum = CInt(r(\"poll_id\"))
   
    \'Dim en tæller der identificerer dette spørgsmål
    questioncount = intPollIDNum       
   
       
    \'Loop - op til 5 svarmuligheder
    For intReadInVotesLoopCounter = 1 To 5
        \'Read in the total number of votes cast
        intTotalPollVotes = intTotalPollVotes + CInt(r(\"votes_\" & intReadInVotesLoopCounter & \"\"))
    Next    

    \'Display the HTML for the weekly poll
   
    response.write \"<hr>\"

        Response.Write \"<p>    <table width=\"\"100%\"\" border=\"\"0\"\" cellspacing=\"\"0\"\" cellpadding=\"\"1\"\">\"
        Response.Write \"<p>      <tr>\"
       
        \'vis poll spørgsmål           
    Response.Write \"<p>            <td align=\"\"center\"\" height=\"\"31\"\"><span class=\"\"pollstor\"\">\" & strPollQuestion & \"</span></td>\"
   
    Response.Write \"<p>      </tr>\"
    Response.Write \"<p>    </table>\"   
   
    Response.Write \"<p>      <table width=\"\"250\"\" border=\"\"0\"\" cellspacing=\"\"0\"\" cellpadding=\"\"1\"\" align=\"\"center\"\">\"
        Response.Write \"<tr><td>\"
       
    \'Loop to display each of the selection choices for the poll
    For intSelectionLoopCounter = 1 To 5
       
        \'If there is a Selection choice then display the HTML to show it
        If r(\"valg_\" & intSelectionLoopCounter) <> \"\" Then
           
            \'Display a radio button for the selection choice
            Response.Write \"<p>\" & \"    <input type=\"\"radio\"\" name=\"\"PollVote\" & questioncount & \"\"\" value=\"\"votes_\" & intSelectionLoopCounter & \"\"\">\"
           
            \'Display the selection choice
            Response.Write \"<span class=\"\"polllille\"\">\" & r(\"valg_\" & intSelectionLoopCounter) & \"<br></span>\"
        End If
    Next
       
    Response.Write \"</td></tr></table>\"

\'********* LOOP end **********
        r.movenext
    loop
end if
     
%>
    <p><hr><p>

    <input class=\"button\" type=\"submit\" name=\"Submit\" value=\"Send\"></form>
  </div></td>
  </tr>
</table>
<%

\'Server Objects
r.close
set r = nothing
Con.close
set Con=nothing

%>
<br>
</body>
</html>

Er der nogen der kan regne den ud? Jeg har prøvet alt muligt, men mine begynder-programmeringsevner slår ikke helt til.
Avatar billede moroax Nybegynder
19. juni 2001 - 16:56 #1
Med denne her kan du checke HVILKE felter og hvad der er i dem i den form du har sendt

\' Start
For Each Item In Request.Form
Response.write \"<tr>\"
Session(item) = item & \" - \" & Request.Form(item)

    if inStr(Request.Form(\"required\"), Item) then
        if Request.Form(item) = \"\" then
        Response.write \"<td><Font color=\'#FF0000\'>\" & item & \"</td><td><Font color=\'#FF0000\'> er tom !!!...</Font></td>\"
            else
            Response.write \"<td><Font color=\'#00FF00\'>\" & Item & \"</td><td><Font color=\'#00FF00\'>\" & Request.Form(item) & \"</Font></td>\"
            end if
        else
            Response.write \"<td>\" & Item & \"</td><td>\" & Request.Form(item) & \"</td>\"
        end if
Response.write \"</tr>\"
Next
\' Slut


- MoRoax
Avatar billede larsen1 Nybegynder
19. juni 2001 - 17:12 #2
Jeg prøver lige om det virker til mit formål - hvis det gør, får du lige 100 slag!
Avatar billede larsen1 Nybegynder
20. juni 2001 - 09:23 #3
Det kan jeg fisme ikke få noget brugbart ud af.
For det første ville jeg gerne validere, inden jeg sendte brugeren videre.
For det andet kan jeg ikke få den til at virke, selvom jeg bruger \"post\" i min form.
Avatar billede nuno Nybegynder
20. juni 2001 - 09:27 #4
larsen1> hvis du vil have den til at validere INDEN du sender brugeren videre skal du bruge javascript til formålet. ASP er server side - og for at du kan bruge noget server side validering til noget, er man jo nødt til at submitte siden først. Javascript er client side - og kan således tjekke hvad der er i din form FØR den bliver submittet.

/nuno
Avatar billede larsen1 Nybegynder
20. juni 2001 - 10:21 #5
Jeg prøver at oprette spørgsmålet i javascript.
Avatar billede nuno Nybegynder
20. juni 2001 - 10:54 #6
at lukke dette spsm? :)

/nuno
Avatar billede larsen1 Nybegynder
20. juni 2001 - 11:28 #7
Jepper - jeg lukker denne
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