mirror of
https://git.checksum.fail/alec/erythros
synced 2025-12-10 13:09:55 +02:00
Applications/Internet/Cyberia: Handle INPUT type=hidden in forms
This commit is contained in:
@@ -269,19 +269,25 @@ U0 @cyberia_form_submit(@html_dom_node* form_node)
|
||||
U8* encoded_value = NULL;
|
||||
I64 encoded_value_length = 0;
|
||||
Widget* element_gui_widget = element_node->attributes->@("cyberiaGuiWidget");
|
||||
switch (element_gui_widget->type) {
|
||||
case WIDGET_TYPE_CHECKBOX:
|
||||
if (element_gui_widget(CheckBoxWidget*)->checked) {
|
||||
raw_value = @t(element_node->attributes->@("value"), element_node->attributes->@("value"), "on");
|
||||
} else {
|
||||
raw_value = NULL;
|
||||
if (element_gui_widget) {
|
||||
switch (element_gui_widget->type) {
|
||||
case WIDGET_TYPE_CHECKBOX:
|
||||
if (element_gui_widget(CheckBoxWidget*)->checked) {
|
||||
raw_value = @t(element_node->attributes->@("value"), element_node->attributes->@("value"), "on");
|
||||
} else {
|
||||
raw_value = NULL;
|
||||
}
|
||||
break;
|
||||
case WIDGET_TYPE_INPUT:
|
||||
raw_value = &element_gui_widget(TextInputWidget*)->text;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
} else {
|
||||
if (element_node->attributes->@("type") && !StrICmp(element_node->attributes->@("type"), "hidden")) {
|
||||
raw_value = @t(element_node->attributes->@("value"), element_node->attributes->@("value"), "");
|
||||
}
|
||||
break;
|
||||
case WIDGET_TYPE_INPUT:
|
||||
raw_value = &element_gui_widget(TextInputWidget*)->text;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
encoded_value = @cyberia_urlencode_str(raw_value, &encoded_value_length);
|
||||
|
||||
Reference in New Issue
Block a user