
下記のようなCGIでテキストを読み込んだテーブルがあり、読み込んだ配列(テキストの1行分)のデータごとにボタンがあります。
print "<script type=\"text/javascript\">\n";
print "function chkbtn(abc) {\n";
print "alert(abc);\n";
print "}\n";
print "</script>";
$file = "../csv/data.csv";
print "<table table-layout:fixed; width=\"1540\">\n";
open (IN, $file) or die "$!";
while (<IN>) {
chomp;
@data = split(/\t/, $_);
print "<td><input type=\"button\" onclick=\"chkbtn($data[0])\"</td>\n";
}
print "</tr>";
print "</table>\n";
close (IN);
テーブルのボタンを押下すると、ファイルから取得した$data[0]が、javaのabcに入り
alretで表示させてみます。
$data[0]の値が、「02222-01」のような値になっていた場合、「2221」と表示されてしまいます。
たぶん、2222-1=2221 という風に計算されてしまっているからだと思うのですが、これを正しく「02222-01」と表示させることができません。
どのようにしたら正しく表示させることができるのでしょうか。
どなかかお詳しい方、ご教授いただけないでしょうか。
No.2ベストアンサー
- 回答日時:
ああっ、誤植が!
【正】
出力しなければならないのは
<td><input type="button" onclick="chkbtn(02222-01)"></td>
ではありません。
<td><input type="button" onclick="chkbtn('02222-01')"></td>
とか、
<td><input type="button" onclick='chkbtn("02222-01")'></td>
とか、
<td><input type="button" onclick="chkbtn("02222-01")"></td>
とかです。お好きなものを選んでください。
#XHTMLの場合は適宜input要素の終了タグを補ったり、その省略記法を使ってください
回答ありがとうございます。
解決しました。要は、ダブルクォーテーションで括った中はシングルクォーテーションで括るということですね。ダブルの中にダブルで括ったらダメだったので悩んでいました。
No.3
- 回答日時:
目的の値は CGI 出力後に JavaScript の文字列として扱う必要があるので、
値の前後に文字列を表す '引用符' を付けましょう。
誤: print "... =\"chkbtn($data[0])\" ...\n";
正: print "... =\"chkbtn('$data[0]')\" ...\n";
"二重引用符" でも可能なのですが、 JavaScript として解釈される前に
perl と HTML の両方でエスケープが必要になるので、
今回の場合は適切ではありません。
ありがとうございます。解決しました。
ダブルクォーテーションで括るのは試したのですが、ダメだったので悩んでいました。ダブルクォーテーションの中で更にダブルクォーテーションで括ったのが間違いだったんですね。
No.1
- 回答日時:
データが02222-01であるとき
出力しなければならないのは
<td><input type="button" onclick="chkbtn(02222-01)"</td>
ではありません。
<td><input type="button" onclick="chkbtn('02222-01')"</td>
とか、
<td><input type="button" onclick='chkbtn("02222-01")'</td>
とか、
<td><input type="button" onclick="chkbtn("02222-01")"</td>
とかです。お好きなものを選んでください。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
perlのプログラミング 部分入れ...
-
Perlでファイルの末尾から指定...
-
テキストファイルで提出とは?
-
perl の open について教えてく...
-
Perl言語について。
-
ファイルをディレクトリ分配の...
-
アルファベットに付いて質問し...
-
#!/usr/bin/perlで書きだしたCG...
-
Perlのエラーについてご教授く...
-
perlのflock関数でロックをかけ...
-
AI sisterとは、偽物の人ですか?
-
bashスクリプト
-
ファイルアイコンの左下に緑の□...
-
perlプログラミング 空白行削除
-
perlでリテラル値はメモリにど...
-
perlで2次元配列をサブルーチ...
-
Perlで時間の計算
-
perlについて
-
perlのrequireの動き方について...
-
perlの構文でカンマの意味が分...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
サーバーのテキストファイルを...
-
html →perlへフォームを渡そう...
-
canonicalのURLエンコードについて
-
他のWWWサーバーからHTMLを得る
-
Perl CGI 初心者
-
表示を一覧表形式にしたいので...
-
標準入力からデータが読込めない
-
perlのcgiが文字化けします。
-
SUN BBSの改造方法
-
wordの数式について 定積分を書...
-
掲示板(kentさんの所のsunbbs...
-
ラジオボタンが両方とも選択で...
-
「value」に2つの値をセットす...
-
チェックボックスの返す値
-
[HTML]プルダウンメニューの横...
-
WEBページを強制的に横画面で見...
-
FORMのselectの選択肢を最初か...
-
VB.net データーグリッドビュー...
-
MSPゴシックで、一番幅を取る文字
-
パールの-pオプションの値0777...
おすすめ情報