Heiner Tanner: Bei Button-click checkboxes per ASP ansprechen u. Wert ermitteln

Hallo!

Ich habe auf einer ASP-Site Checkboxes, und in einer mySQL-DB eine Spalte wert, in welcher entweder 1 oder 0 steht. Wenn der Wert 1 ist, ist die Checkbox checked, wenn 0 steht, ist die Checkbox leer.

Nun soll ein User auf die Website kommen, und die Checkbox markieren oder nicht. Dann soll er auf einen Button klicken, und die Checkboxes müssen durchsucht werden, ob sie checked sind oder nicht.
Dann werden alle Werte von den Checkboxes neu in die DB übertragen.

Weiss jemand, wie man bei einem Klick auf den Button per ASP die Checkboxes überprüfen kann, ob sie checked sind oder nicht?

Vielen Dank, viele Grüsse,

Heiner

  1. Hallo,

    wenn du dein form abschickst musst du eben auf die entsprechenden parameter(namen der checkboxen) zugreifen und testen...

    wenn du mal mit <form method="get" ...> testest siehst du die params in der url

    besser ist aber dann mit method="post" zu arbeiten...

    Odium

    1. ja eigentlich wird das form ja nicht gesendet, sondern lediglich die Werte in die Checkboxes geschrieben.
      D.h., wenn der Button gedrückt wird, soll eine Prozedur ausgeführt werden, die die Checkboxes checkt und dann in die DB schreibt.
      Aber mittleweile will ich es anders mache, und zwar so:

      Wenn ich eine Checkbos aktiviere/deaktiviere, soll direkt dann die Prozedur ausgeführt werden. Der Button kann ich also vergessen.
      Nun weiss ich aber nicht, wie das Code-mässig aussieht, eine Checkbox anzusprechen, und vor allem wie ich mit dem Ereignis onClick umgehen muss. Soviel ich weiss, ist es möglich, beim aktivieren/deaktiveren einer Checkbox eine Prozedur auszuführen,oder?

      Es müsste folgendermassen aussehen:
      Wird eine Checkbox aktiviert, startet eine Prozedur, die prüft, ob der Wert der jeweiligen Checkbox checked ist oder nicht.
      Wenn der Wert checked ist, wird der Wert 1 in ein bestimmtes Feld einer MySQL-DB geschrieben, sonst der Wert 0.
      (Das kann ich)

      Ich weiss nur nicht, wie ich diese Prozedur code-mässig aufbauen muss, also wie ich mit dem onClick umgehen muss, wie der Code aufgebaut ist und vor allem wie ich die Checkbox überhaupt über den Namen ansprechen kann. Ich weiss, wie ich es machen will, ich weiss nur nicht, wie das code-mässig aussieht.

      Grüüse, Heiner

      1. Hallo,

        ein sofortiges ändern der werte in der db ist nicht möglich! asp läuft auf dem server (es sei denn du führst lokales vb-script aus, was aber keine so gute idee ist)
        also ist eine seitenanforderung notwendig, also abschicken eines formes-->checken der parameter-->db ändern-->ausgaben zusammentragen...

        Odium

        1. Ok...das stimmt...da bin ich mittlerweile auch drauf gekommen..:-)sorry für meine dummheit...bin absoluter anfänger!

          Wie geht das mit dem abschicken des Formes? wohin soll dieses geschickt werden? In ein seperates File?

          Es sind immer 2 Radiobuttons pro person (es ist eine liste von Personen, wobei die werte ich komme/ich komme nicht zur veranstaltung übertragen werden)...das heisst also, jeder Radiobutton müsste gecheckt werden, obwohl jeweils nur bei einer Kombination eine Änderung vorgenommen wurde?

          Und wie würde das mit dem Submit oder Send genau gehen?

          Danke für deine Geduld...

          Heiner

          ein sofortiges ändern der werte in der db ist nicht möglich! asp läuft auf dem server (es sei denn du führst lokales vb-script aus, was aber keine so gute idee ist)
          also ist eine seitenanforderung notwendig, also abschicken eines formes-->checken der parameter-->db ändern-->ausgaben zusammentragen...

          Odium

          1. Hallo,

            hier müßte sowas beschrieben werden: http://www.dynamic-webpages.de/50.tutorials.php?dwp_tutorialID=8

            Odium

          2. Hi, hallo

            ASP-Anfänger ja, okay... aber wohin <form>'s geschickt werden hat nicht unbedingt mit ASP zu tun, das sollte Basiswissen von HTML (und damit sicher in SelfHTML8 zu finden) sein... egal.

            du mußt ja deine Seite auch aufbauen, wie ich das verstanden habe, ist die Seite mit den Checkboxes das Resultat eines gewissen Vorganges. Also weißt du ja, in welche Checkboxen ein Häkchen muß und in welche nicht. Oder irre ich mich? Jedenfalls kannst du dir doch die Namen der Checkboxen die gecheckt sind und derer, die es nicht sind in einem String sammeln, schön kammo-getrennt.
            Dieser String bzw. diese ~s werden in einem hidden-Feld des Formulars zusätzlich mit übergeben.

            Wenn das Formular abgeschickt wird, werden die Eingaben über die Request.Form/QueryString Auflistung geprüft. Alles was abgeschickt wurde existiert dann mit dem Elementnamen als Key in Request.Form (bei <form method=POST>)

            was jetzt zu machen ist, du weißt die Elementnamen der beiden "versteckten" Strings und holst dir dieses in jeweils eine Variable:
            prevChecked = Request.Form("prevChecked")
            prevUnchecked = Request.Form("prevUnchecked")

            mithilfe der Split-Funktion machst du aus diesen Strings Arrays:
            prevChecked_Array = Split(prevChecked,",")   '// wenn Komma dein Trennzeichen ist

            danach läufst du beide Arrays mit einer For-each-in Schleife durch

            for each prevChk in prevChecked_Array
            next

            dazwischen prüfst du ob der Wert von prevChk als Key in Request.Form auftaucht... je nach Variante ist
            [] der Wert nicht als Key in Request.Form -> von Checked auf Unchecked gesetzt

            den Rest bekommst du mit Logik heraus, was wann sich wie verhält :-)

            Viel Spaß beim Ausprobieren. Als Anfänger würde ich dir das Studium von Literatur zu ASP empfehlen, angefangen mit dem ASP-Buch von Stefan Falz ... bzw. dessen Website www.aspfaq.de  bishin zu Releases der Microsoft Press.

            Tschau, tschüß,
            Frank