summaryrefslogtreecommitdiff
path: root/render/form.c
diff options
context:
space:
mode:
authorDaniel Silverstone <dsilvers@digital-scurf.org>2014-01-06 18:50:25 +0000
committerDaniel Silverstone <dsilvers@digital-scurf.org>2014-01-06 18:50:49 +0000
commit28e670f52da46819f8f18844a407bf9ad93043cd (patch)
tree4302a153c8e3f3d695739f0734d26652345f4141 /render/form.c
parentbe6f4d3997989012210ee3413c5186c7fb0ee29a (diff)
downloadnetsurf-28e670f52da46819f8f18844a407bf9ad93043cd.tar.gz
netsurf-28e670f52da46819f8f18844a407bf9ad93043cd.tar.bz2
Support 'checked' properly in new form handler
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);