getInputValue static method

MapEntry<String, String?> getInputValue(
  1. Element inputElement
)

Implementation

static MapEntry<String, String?> getInputValue(dom.Element inputElement) {
  final tagName = inputElement.localName;
  final name = inputElement.attributes['name']!.trim();
  if (tagName == 'select') {
    final opElement = [
      inputElement.querySelector('option[value][selected="selected"]'),
      inputElement.querySelector('option[value][selected]'),
      inputElement.querySelector('option[value]')
    ].firstWhere((element) => element != null, orElse: () => null);
    return MapEntry(name, opElement != null ? opElement.attributes['value'] : '');
  } else {
    final attributes = inputElement.attributes;
    final value = attributes.containsKey('value') ? attributes['value']!.trim() : inputElement.text.trim();
    return MapEntry(name, value);
  }
}