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)