我正在寻找一种非常通用的方法来“填写”基于使用 javascript 的参数字符串的表单。
例如,如果我有这种形式:
<form id="someform">
<select name="option1">
<option value="1">1</option>
<option value="2">2</option>
</select>
<select name="option2">
<option value="1">1</option>
<option value="2">2</option>
</select>
</form>
我希望能够采用这样的参数字符串:option1=2&option2=1
然后根据查询字符串中的选项选择正确的东西。
我有一种丑陋的解决方案,我遍历表单的子项并检查它们是否匹配各种键,然后设置值,但我真的不喜欢它。
我想要一种更简洁、通用的方法,它适用于任何形式(假设参数字符串具有所有正确的键)。
我正在使用原型 javascript 库,所以我欢迎利用它的建议。
编辑:这是我迄今为止想出的(使用原型Form.getElements(form)
)
function setFormOptions(formId, params) {
params = params.split('&');
params.each(function(pair) {
pair = pair.split('=');
var key = pair[0];
var val = pair[1];
Form.getElements(form).each(function(element) {
if(element.name == key) {
element.value = val;
}
});
});
}
我觉得它仍然可以更快/更清洁。