Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Delphi IdHTTP Post CheckBox Checked (https://www.delphipraxis.net/166970-idhttp-post-checkbox-checked.html)

SyntaxXx 7. Mär 2012 21:52

IdHTTP Post CheckBox Checked
 
Guten Abend Leute,
ich muss jetzt leider nochmal mit dem Thema Post Request via idhttp nerven.

Ich möchte jetzt nochmal an eine Seite einen POST Request senden, und nun habe ich folgendes Problem.
Ich habe jetzt folgnde Zeile:

Code:
<input type="checkbox" class="checkbox" name="checkbox1" value="1" checked="checked" />
Jetzt ist die Frage, wie baue ich das in den Request ein?

Standartmäßig lautet es ja so:
Code:
data.FormFieldAdd('checkbox1', '1');
Nur wie mache ich das jetzt, dass das checked="checked" mitgesendet wird?

mjustin 8. Mär 2012 07:31

AW: IdHTTP Post CheckBox Checked
 
HTML Browser senden das checked Attribut nicht zum Server, sondern nur den Wert des value Attributs. Mit checked wird nur die Checkbox als angekreuzt vorbelegt.

Mit value="1" würde das Formular also den Wert 1 für das Form-Element checkbox1 übermitteln, wenn die Checkbox selektiert ist.

Siehe: http://de.selfhtml.org/html/formular...htm#checkboxen

Der Request enthält nur die Parameter der selektierten (angekruzten) Checkboxen, daher weiss der Server welche nicht angekreuzt sind.

s.h.a.r.k 8. Mär 2012 07:32

AW: IdHTTP Post CheckBox Checked
 
Du musst das doch gar nicht mitsenden, oder verstehe ich da gerade etwas falsch? Du musst nur dann dem POST-Request das data.FormFieldAdd('checkbox1', '1'); hinzufügen, wenn die Checkbox auch wirklich aktiv ist. Den eigentlichen Wert, d.h. die '1' wird man nie abfragen.

In PHP kann man das ganze folgendermaßen machen:
Code:
if (isset($_POST['checkbox1'])) {
    // in CheckBox1 ist ein Haken drin
} else {
    // in Checkbox1 ist KEIN Haken drin
}
Sollte der Benutzer die Checkbox nicht angehakt haben, so tritt automatisch der Else-Teil in Kraft. Und wie du siehst ist es unerheblich welcher Wert denn in $_POST['checkbox1'] steckt.

-- Edit: Wo war die rote Box?! :gruebel:


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:12 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz