hiddenを動的に作成したい
何度も呼ばれるfunction(testfunc)があり、ここではparamaterというフィールドがあればそこに値を設定し、なければparamaterというhiddenフィールドを作成し、そのフィールドに値を作成。
その後、Ajax.Requestを使用して値をサーバに渡したいです。
下記のように作成しましたが、createhidden実行後もformobj.paramaterはundefinedになってしまいます。
ただ、実際は作成されているようで、サーバーには最初に設定した値が何度も飛んできている状態です。(同じnameのhiddenがたくさんできている状態?)
特にこの方法にこだわる事はないので、もっといい方法があればそれでも構いません。(post時に別のやり方?で値を渡すなど)
尚、最初からhtmlにhiddenを書いておくというのは無しでお願い致します。
function testfunc (value) {
formobj = document.forms[0];
if (formobj.paramater) {
formobj.paramater.value = value;
} else {
createhidden('paramater', value, formobj);
}
new Ajax.Request('./Suggest.do', {
// 正しく補完情報を取得できた場合
onSuccess: aaaa,
onFailure: bbbb,
postBody: Form.serialize(formobj),
asynchronous: true,
method: 'post'
});
}
function createhidden( name, value, form ){
var elm = document.createElement('input');
elm.type = 'hidden';
elm.name = name;
elm.value = value;
form.appendChild(elm);
}
お礼
ありがとうございます