電子書籍の厳選無料作品が豊富!

お世話になります。
現在、ListコンポーネントとaddItemを使ってサーバーと連携し、Listを動的に追加する仕組みを構築しています。

基本的なところは出来ているのですが、functionの中でsendAndLoadをすると、値は受け取れているのですがListにアイテムが追加されません。

var send_lv = new LoadVars();
var recv_lv = new LoadVars();

mc.btn.onRelease = function() {
send_lv.value1 = "値"
send_lv.sendAndLoad("xxx.cgi", recv_lv, "GET");
}

recv_lv.onLoad = function(success){
if (success) {
_root.sList.addItem(value2);
}
}

mc:汎用movieclipインスタンス名
btn:mc下のボタンオブジェクトのインスタンス名
sList:コンポーネントのインスタンス名

value1:cgiに送る値
value2:cgiから返ってくる値

このfunctionの外でsendAndLoadを実行すると難なく追加されるのですが、、、何か間違っていますでしょうか。
分かる方、お願い致します。

A 回答 (2件)

perlも大文字と小文字を区別するようですので、


ASとperlでvalue1,value2の記述をそろえないとなりません。

perl側をそろえるなら

print "Content-type:text/plain\n\n";
if($in{'value1'} ne ""){ #Value1をvalue1に。
$Value2=$in{'value1'}; #同じくvalue1に。
print "&value2=$Value2&"; #先頭にあるValue2をvalue2に。
}

です。変数の$Value2はperl内でしか使われていないのでそのままでOKです。


>このfunctionの外でsendAndLoadを実行すると難なく追加されるのですが
ボタン内ではなくフレームに直接書いたという意味だと思うのですが、
私の場合フレームに記述したところもボタンを押したところも値は返ってきませんでした。
(上記の通り小文字に直したら動きました。)

上記の大文字→小文字変更でもダメな場合は

ボタンに名前が付いているか trace(mc.btn);
ボタン内のif(success){}内は実行されているか trace(success)

などtrace()を至る所に記述して原因を突き止める方法もあります。

またperlで
if($in{'value1'} ne ""){
$Value2=$in{'value1'};
print "&value2=$Value2&"
}else{
print "&value2=false"; #←ここ
}

などと書いて置くと値が正常に返ってきたかどうかも確認できます。
    • good
    • 0

cgi側で


print "value2=abc";
のように出力しているのであれば

_root.sList.addItem(recv_lv.value2);

ではないでしょうか。
    • good
    • 0
この回答へのお礼

その通りです。。コード漏れでした。失礼しました。

//AS
var send_lv = new LoadVars();
var recv_lv = new LoadVars();

//動く。
send_lv.value1 = "値1"
send_lv.sendAndLoad("xxx.cgi", recv_lv, "GET");

//動かない。
mc.btn.onRelease = function() {
send_lv.value1 = "値2"
send_lv.sendAndLoad("xxx.cgi", recv_lv, "GET");
}

recv_lv.onLoad = function(success){
if (success) {
_root.sList.addItem(recv_lv.value2);
}
}

//CGI
#!/usr/local/bin/perl
require 'cgi-lib.pl';

&ReadParse;

print "Content-type:text/plain\n\n";
if($in{'Value1'} ne ""){
$Value2=$in{'Value1'};
print "&Value2=$Value2&";
}


上記のようにしています。
Function内のsendAndLoadは動かないのでしょうか;;

お礼日時:2007/02/14 10:08

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!