Udo Weustenhagen: Aktivierte Checkboxen zaehlen

Hallo,

ich habe auf meiner HP Fotos einer Feier, die die Teilnehmer von dort nachbestellen koennen. Jedes der ca 100 Fotos hat eine eigene Chechbox (durchnummeriert).

Nun wuerde ich gerne die aktivierten Checkboxen zaehlen, um den Preis der Nachbestellung anzeigen zu koennen. Die Auswahl des Bildformates erfolgt ueber Radiobuttons (s. unten)

hier ein Auszug aus dem Quellcode:

<input type="radio" name="format" value="9x13">9x13 <input type="radio" name="format" value="10x15">10x15

<input type="radio" name="mattglanz" value="matt">matt <input type="radio" name="mattglanz" value="hochglanz">hochglanz

</font></b></pre>
            </div>
          </div>
        </blockquote>
        <table width="75%" border="1">
          <tr>
            <td width="50%">
              <div align="center">
                <input type="checkbox" name="1" value="1">
              </div>
            </td>
            <td width="50%">
              <div align="center">
                <input type="checkbox" name="2" value="2">
              </div>
            </td>
          </tr>
          <tr>

Es sollte dann zum Beispiel "Du hast 35 Fotos zum Gesamtpreis von 18,50 DM ausgewählt" neben dem Absendebutton stehen.

Ich bin fuer jegliche Tips dankbar.

Udo

  1. Hallo,

    Es sollte dann zum Beispiel "Du hast 35 Fotos zum Gesamtpreis von 18,50 DM ausgewählt" neben dem Absendebutton stehen.

    Dies mußt du nicht mit ASP sondern mit Javascript lösen. ASP kann die Formularfelder nur NACH dem Absenden zählen oder auswerten. Die Gesamtzahl der aktivierten Checkboxen kannst du bei ASP mit

    anzahl = REQUEST.FORM.COUNT

    abfragen. Wenn du die Namen und Werte der Checkboxen (oder andern Formularfeldern) brauchst geht es wie folgt:

    FOR EACH feldname IN REQUEST.FORM
    (gibt den Namen der Felder aus)  RESPONSE.WRITE(feldname & "<br>")
    (Gibt den Wert der Felder aus) RESPONSE.WRITE(REQUEST.FORM(feldname))
    NEXT

    schönen Sonntag noch
    Thomas

  2. Hallo Udo!

    Du kannst das so wie du es willst, wie schon gesagt nur mit JScript machen, aber wenn du eine Folgeseite machst, dann geht's auch mit ASP.

    Ändere deinen HTML-Tag mal so!

    <form ...
    <input type="hidden" name="validate" value="1">
    <input type="hidden" name="Anzahl_Bilder" value="100">

    ...

    <td width="50%">
      <div align="center">
        <input type="checkbox" name="Bild1" value="ON">
      </div>
    </td>
    <td width="50%">
      <div align="center">
         <input type="checkbox" name="Bild2" value="ON">
      </div>
    </td>

    Nachfolgesite:

    <%
    if request("validate") = 1 then
      for i = 1 to Request("Anzahl_Bilder")
        Dim Anzahl_Bilder_Ausgewählt
        if request(Replace("Bild?", "?" ,i)) = "ON" then
          Anzahl_Bilder_Ausgewählt = Anzahl_Bilder_Ausgewählt + 1
        end if
      next
    end if

    ....
    %>
    Hier kommt dann nur noch die Berechnung und die Ausgabe des Preises und danach sinnvollerweise die Bestellbestätigung