【发布时间】:2015-05-27 08:39:02
【问题描述】:
我在 dart:html 中将一些表单序列化为 JSON
Map jsonifyForm(String formQuery){
FormElement form = querySelector(formQuery);
Map<String, String> data = {};
List<InputElement> inputs = form.querySelectorAll("input.json");
for (InputElement input in inputs) {
if (input is CheckboxInputElement){
print("checkbox: " + input.name + "|" + input.checked.toString());
data.putIfAbsent(input.name, () => input.checked);
} else {
print("text: " + input.name + "|" + input.value);
data.putIfAbsent(input.name, () => input.value);
}
}
print(data);
return data;
}
我在页面上有大约 100 个输入字段,后面只有一个复选框:
<label>First Name</label>
<input type="text" class="form-control tip json" placeholder="First Name" name="firstName" value="" data-toggle="tooltip" data-placement="top" title="First Name"/>
<label>Last Name</label>
<input type="text" class="form-control tip json" placeholder="Last Name" name="lastName" value="" data-toggle="tooltip" data-placement="top" title="Last Name"/>
...
<label class="form-control tip" data-placement="top" title="VAT On Goods" data-toggle="tooltip">
<input class="json" type="checkbox" name="vatOnGoods">
VAT on goods
</label>
当我调用 jsonifyForm 时,我看到所有输入都被视为复选框:
checkbox: firstName|false
checkbox: lastName|false
...
checkbox: vatOnGoods|false
{firstName: false, lastName: false, ..., vatOnGoods: false}
这是一个错误还是我在这里做错了什么?
【问题讨论】:
-
记录了一个错误:code.google.com/p/dart/issues/…