Array für Checkboxen in HTML-Formularen

8

Ich habe eine Frage bezüglich der Checkboxen.

%Vor%

Ist es notwendig, die Kontrollkästchen lang [] zu benennen (mit einem Array) oder kann ich jedem Kontrollkästchen einen eigenen Namen geben, zB:

%Vor%

Frage 1 Ich glaube, beide funktionieren, wenn ja, wann entscheidest du dich, welche zu verwenden?

Frage 2 Ich verwende die zweite oben genannte Methode, damit ich mithilfe eines Codes, der if(isset($_POST['lang_en'])) ähnelt, PHP verwenden kann, um festzustellen, welches der Kontrollkästchen ausgewählt ist. Wenn ich die erste Methode verwenden würde, gibt es eine schnelle Möglichkeit zu überprüfen, ob ein bestimmtes Kontrollkästchen ausgewählt ist? Im Moment ist die ungetestete Lösung, die ich mir vorstellen kann, ein if(in_array('lang_en', $_POST['lang'])) zu verwenden, um zu überprüfen, ob es in $ _POST existiert.

Frage 3 Die Hauptfrage lautet: Ich benutze die zweite Methode, damit ich leicht überprüfen kann, ob in PHP eine Checkbox ausgewählt ist. Jetzt möchte ich einen Textlink hinzufügen, der beim Anklicken alle Kontrollkästchen anklickt. Mein Javascript ist nicht so gut, also verwende ich ein Skript von Ссылка , aber das Beispielskript verwendet ein Array für die Checkbox-Namen, während mein PHP-Code nicht überprüfen kann, ob die Checkboxen mit Arrays ausgewählt sind, werden für die Checkbox-Namen verwendet. Wie kann der JavaScript-Code so geändert werden, dass er ohne Arrays funktioniert?

Ich hoffe, ich kann diese nervige Frage herausfinden! Danke!

BEARBEITEN

Javascript:

%Vor%

HTML:

%Vor%     
Nyxynyx 20.06.2011, 13:54
quelle

2 Antworten

6

Antworten:

  1. Entweder funktioniert ... hängt davon ab, ob Sie explizite Namen oder ein Array
  2. wollen
  3. Sie können auch array_key_exists() verwenden
  4. Können Sie den JavaScript-Code, den Sie verwenden, in Ihre Frage eingeben? Ich werde einen weiteren Blick darauf werfen ...

UPDATE:

Hier ist eine jQuery-Lösung zur Implementierung Ihrer onclick-Handler:

%Vor%

Beachten Sie, dass Sie field wirklich nicht übergeben müssen, es sei denn, Sie möchten dies verallgemeinern und die Zeichenfolge für das startswith-Muster (z. B. cuisine_ ) übergeben.

    
AJ. 20.06.2011, 14:02
quelle
6

1. Beide arbeiten, Lösung mit lang [] ist viel flexibler. Zum Beispiel, wenn Sie wirklich lange Form mit einer Liste von Kontrollkästchen in einigen Kategorien haben, z. Sprachen Benutzer spricht, Länder, die er besuchte, Autos, die er fuhr, und lassen Sie uns sagen, jede Liste besteht aus 10 Elementen, dann hart Codierung jeder von ihnen ist ein Schmerz in der ..., auf der PHP-Seite müssten Sie jedes Element manuell überprüfen und mit einem Array können Sie dies tun:

%Vor%

2. Wie oben erwähnt, um zu überprüfen, ob eine der Sprachen ausgewählt wurde, überprüfen Sie:

%Vor%

3. Wenn Sie jQuery verwenden möchten, verwenden Sie einfach dieses Snippet:

%Vor%     
Jarek Tkaczyk 20.06.2011 20:25
quelle