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
そして、クエリ文字列のオプションに基づいて正しいものを選択します。
フォームの子を調べて、さまざまなキーと一致するかどうかを確認してから値を設定するという、一種の醜いソリューションがありますが、本当に好きではありません。
どのフォームでも機能する、よりクリーンで一般的な方法が必要です(param文字列にすべての適切なキーがあると仮定します)。
私はプロトタイプの 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;
}
});
});
}
ただし、それでもより高速/クリーンになる可能性があると感じています。