prototype.js:URLパラメータを生成する

 prototype.jsにはフォームのエレメント(テキストフィールド等)の値(valueプロパティ)を読み込みURLパラメータにするメソッドForm.serialize()が用意されています。変換される際にはURLエンコードも行なわれます。Form.serialize()で変換したデータは、そのままAjax.Request()のparametersで指定できます。
 以下のサンプルはテキストフィールドの値を読み出してCGI側でデータのみ読み込み送出しページ上に表示するものです。(サンプルを実行する

<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<title>prototype.jsサンプル</title>
<script src="prototype.js" type="text/javascript"></script>
<script type="text/javascript"><!--
function formdataTest()
{
new Ajax.Request("print.rb", { method: "get",
parameters: Form.serialize("ajaxForm"),
onComplete: function(httpObj){
$("result").innerHTML = httpObj.responseText;
}
});
}
// --></script>
</head>
<body>
<h1>prototype.jsサンプル</h1>
<form id="ajaxForm">
氏名:<input type="text" value="KF" name="uName"><br>
年齢:<input type="text" value="23" name="uAge"><br>
電話:<input type="text" value="0120123456" name="uTel"><br>
<input type="button" value="データ送信テスト" onClick="formdataTest()">
</form>
<div id="result"></div>
</body>
</html>


[目次へ]

(2006.3.25)