Javascriptをはじめ、Ajax、jQueryの著書多数のガイドが、何かと最近騒がれているJa…
北欧好きが、愛用の北欧モノを見せ合うコミュニティ
Javascript関連情報
更新日:2007年10月16日
YUIでは、送信時に手軽にURLエンコード文字列を作成するメソッドとしてYAHOO.util. Connect.setFormが用意されています。
<form type="text" name="testForm" id="testForm"> <input type="text" name="syurui" value="りんご"> </form>というtestFormという名前のFormがあった時に、YUIでは、 次のようにasyncRequestメソッドの前で oj.setForm("testForm") しておくと、
YAHOO.util.Connect.setForm("testForm");
YAHOO.util.Connect.asyncRequest(method,url,callback);
Formの子要素のすべての値が&名前=値というフォーマットで連結され、次のような文字列にエンコードされて送信されます。
&name=%E3%82%8A%E3%82%93%E3%81%94YUIでは、送信時に手軽にURLエンコード文字列を作成するメソッドとしてYAHOO.util.Connect.setFormを用意しているわけです。

<script type="text/javascript"参考までに、送信したパラメータをレスポンスしているサーバー側のソース(Perl)は次のものです。
src="../build/yahoo-dom-event/yahoo-dom-event.js"></script>
<script type="text/javascript"
src="../build/connection/connection-min.js"></script>
<script type="text/javascript">
<!--
YAHOO.namespace('myTest');
YAHOO.myTest.send = function(msgDiv,method,url,form) {
var div = document.getElementById(msgDiv);
this.onOK = function(oj){
div.innerHTML="";
div.innerHTML= oj.responseText;
}
var callback ={
success: this.onOK
}
YAHOO.util.Connect.setForm(form);
var cObj = YAHOO.util.Connect.asyncRequest(method,url,callback);
}
//-->
</script>
<style type="text/css">
<!--
#testDiv {
border:dotted 1px #222222;
width:70%;
padding:8px;
font-size:12px;
background-color:#dddddd;
}
-->
</style>
<body>
<div id="testDiv">サーバーへ送信されたパラメータが
ここに表示されます</div>
<form name = "testForm" >
<input type = "button"
name ="sbmG" id="sbmG"
value ="GET送信"
onclick="YAHOO.myTest.send(
'testDiv','GET','./echo-usecgi2.cgi','testForm'
)">
<input type = "button"
name ="sbmP" id="sbmP"
value ="POST送信"
onclick="YAHOO.myTest.send(
'testDiv','POST','./echo-usecgi2.cgi','testForm'
)"><br>
名前
<input type="text" name="name1" id="name1"
value="としろう"><br>
都道府県
<select name="ken" id="ken">
<option value="北海道">北海道</option>
<option value="青森">青森</option>
<option value="秋田">秋田</option>
</select><br>
</form>
#!/usr/bin/perl
use CGI;
my $query = CGI->new;
my @params=$query->param(); #全パラメータ取得
print $query->header(-charset=>'utf-8');
foreach my $param (@params){
my $data =$query->param($param);
print $query->escapeHTML("$param -- $data ;"); #エスケープして出力
}
人気Javascriptランキング
Powered by 価格.com
北欧好きが、愛用の北欧モノを見せ合うコミュニティ