Werner: Abfragen ob ein Array leer ist

Beitrag lesen

Hallo Thomas,

vielen Dank. Ich blicke aber noch nicht ganz durch. Vielleicht kannst Du dir das ja mal ansehen:

<TR>
            <TD class="detail">
                    <?php

foreach ($aTest["company"] as $key => $value) {
                        if ($aTest["company"][$key]["isDefault"] == true) {
                            $sDefault = " " . "checked";
                        }
                        else {
                            $sDefault = "";
                        }
                        print("<INPUT type="checkbox"" . " " .
                              "name="" . "company[]" . """ . " " .
                              "value="" .
                              $aTest["company"][$key]["value"] .
                              """ . $sDefault . ">" .
                              $aTest["company"][$key]["desc"]
                             );
                        print("<BR>\n");
                    }

?>
            </TD>
        </TR>

$aTest ist ein Array in PHP definiert. Ich lese daraus mit foreach die Werte aus
und gebe diese Werte in HTML Checkboxen aus. Ich möchte nun aber eine Abfrage ein-
bauen, die kontrolliert ob der Benutzer überhaupt eine Checkbox angeklickt hat bevor
die nächste Seite aufgerufen wird.
d.h. wenn der Benutzer das Formular bestätigt, soll anhand eines Javascriptes ein Kontrolle erfolgen.
Das muß ich doch mit Javascript machen, oder?

Werner

Hallo,

ich habe folgenden HTML Code:

<INPUT type="checkbox" "name="test[]">

Wie kann ich mit Javascript abfragen ob test[] leer ist?

test[] ist Client-seitig kein Array, sondern nur der Bezeichner fuer dieses INPUT-Feld bzw. weitere.

In JavaScript kann man auf alle Felder mit diesem "Sammelnamen" so zugreifen (bezogen auf das erste Formular):

document.forms[0].elements["test[]"][index ab 0].eigenschaft
oder
document.forms["formularname"].elements["test[]"][index ab 0].eigenschaft

Erst im (vermutlich bei action angegebenen) PHP-Script wird das Array $test[] erhalten und mittels count($test) kann die Anzahl der Arrayelemente bestimmt werden.

BTW: Vor name ist ein " zuviel.

MfG, Thomas