summaryrefslogtreecommitdiff
path: root/render/form.c
diff options
context:
space:
mode:
Diffstat (limited to 'render/form.c')
-rw-r--r--render/form.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/render/form.c b/render/form.c
index 761fc4c69..49d6f217c 100644
--- a/render/form.c
+++ b/render/form.c
@@ -350,7 +350,7 @@ bool form_successful_controls_dom(struct form *_form,
dom_exception err;
dom_string *nodename = NULL, *inputname = NULL, *inputvalue = NULL, *inputtype = NULL;
struct fetch_multipart_data sentinel, *last_success, *success_new;
- bool had_submit = false, element_disabled;
+ bool had_submit = false, element_disabled, checked;
char *charset, *rawfile_temp = NULL, *basename;
uint32_t index, element_count;
struct image_input_coords *coords;
@@ -687,6 +687,15 @@ bool form_successful_controls_dom(struct form *_form,
dom_string_caseless_isequal(
inputtype, corestring_dom_checkbox)) {
LOG(("Examining radio or checkbox"));
+ err = dom_html_input_element_get_checked(
+ (dom_html_input_element *)form_element,
+ &checked);
+ if (err != DOM_NO_ERR) {
+ LOG(("Could not get input element checked"));
+ goto dom_no_memory;
+ }
+ if (!checked)
+ continue;
err = dom_html_input_element_get_value(
(dom_html_input_element *)form_element,
&inputvalue);