No.1ベストアンサー
- 回答日時:
変数の内容を展開したければ、
' でくくらなければいいわけですが、
後から出てくるなら、その代入時点では
undefine 状態ですか?
この回答への補足
すみません。undefine状態、というのがよく分からないのですが・・・(^-^;)
展開するソースは以下の通りです。
print "<tr><td nowrap><b>文字色</b></td><td>\n";
# クッキーの色情報がない場合
if ($ccol eq "") { $ccol = $color1[0]; }
foreach (0 .. $#color1) {
if ($ccol eq $color1[$_]) {
print "<input type=radio name=color value=\"$color1[$_]\" checked>";
print "<font color=\"$color1[$_]\">■</font>\n";
} else {
print "<input type=radio name=color value=\"$color1[$_]\">";
print "<font color=\"$color1[$_]\">■</font>\n";
}
}
print "<br>original<input name=user_color size=8 maxlength=8 value=\"$color\">\n";
---
※$ccolはcolorのクッキーです。
No.5
- 回答日時:
えっと、よくわからないんですが、
$ccolor はクッキーに設定された値で、
$user_color は、form から得られた値ですよね?
$color って何ですか? for 文をまわすときの一時変数ですか?
この回答への補足
お返事が大変遅れました(;^_^A アセアセ…すみません。
$colorは、元々のスクリプトで色んな色の羅列があり、それをラジオボタンと共に吐きだしてhtmlに書いてるんですが、そのラジオボタンで選ぶと代入されるものです。
No.4
- 回答日時:
あ~っと、 input ってのは HTMLタグのことですか・・・。
では、まず$user_color に値は入っていますか?
確認してください。
引数(?)やクッキーからも値が得られない場合は
print " original color .....
行で出力される value 値に値は入りませんよね?
<input type=radio name=color value=><font color=>■</font>
行で value が空なのは、 $user_color が空だからでしょう。ちゃんと form 空のデータを受け取っていますか?
あるいは、データがない場合(そのページをいきなり開いた場合など)の処理は含まれていますか?
確認してください。
以上2点の確認をお願いします。
この回答への補足
あぁ、そっか!!
inputの場所を変えてしまったので、formがないのかもしれません(;^_^A アセアセ…
>あるいは、データがない場合(そのページをいきなり開いた場合など)の処理は含まれていますか?
これは、もし、$user_colorが$colorと同じなら$user_colorには$colorを代入し、そうでないなら$user_colorには特定色を代入しろ、というプログラムでいけますか?
ちょっとやってみます!!
また報告します。
何度もありがとうございます。(深謝)
No.3
- 回答日時:
では、順番を以下のように変えてください。
1)input を user_color に入れる
2) @color1=('0000ae',......,$user_color);
>単純に考えたら$colorの色を$user_colorに代入して表示して、その後その色を選んでinputで$colorに色データを入れたら次からはその色で表示しそうな気がしてたんですが
Cのようなポインタではないのでご指摘の方法では難しいかと思いますが?
この回答への補足
順番を逆にすると、色のデータを拾えなくなるらしく、今まで表示していたラジオボタンと■に色のついたものが出なくなります(T-T)
>Cのようなポインタではないのでご指摘の方法では難しいかと思いますが?
私はPerlもちょっぴりカスタマイズできる程度の知識しかありません。
的はずれな事を色々言うかもしれませんが、何卒ご教授ください。よろしくお願いします。
print " original color<input name=user_color size=8 maxlength=8 value=\"$user_color\"></td></tr>\n";
@color1 = ('0000ae','0000ff','3399cc','009999','02b9df','9999ff','cc00cc','ff0000','C70000','ff6666','ff99cc','ff9933','ecbd00','00cc00','009933','990000','666666','000000',$user_color);
@color2 = ('シアン','エーゲブルー','ブルーグレー','コバルトブルー','スカイブルー','ヴァイオレット','パープル','レッド','フェラーリレッド','サーモンピンク','ピンク','ヴァレンシアオレンジ','山吹','新茶グリーン','グリーン','チョコレート','グレー','ブラック','オリジナル');
print "<tr><td nowrap><b>文字色</b></td><td>\n";
# クッキーの色情報がない場合
if ($ccol eq "") { $ccol = $color1[0]; }
foreach (0 .. $#color1) {
if ($ccol eq $color1[$_]) {
print "<input type=radio name=color value=$color1[$_] checked>";
print "<font color=$color1[$_]>■</font>\n";
} else {
print "<input type=radio name=color value=$color1[$_]>";
print "<font color=$color1[$_]>■</font>\n";
}
}
これでも読み込みません。
htmlのソースを見ると色データが空です。
<input type=radio name=color value=000000><font color=000000>■</font>
<input type=radio name=color value=><font color=>■</font>
:
<option value="000000">ブラック
<option value="">オリジナル
お礼部分に補足ですみません。
No.2
- 回答日時:
#1の方が回答なさっている通り
「'」を取れば文字列ではなく、変数になります。
#1の方が仰っているのは
$user_colorと言う変数に後から値をいえるなら
「@color1 = ('0000ae',・・・,'$user_color')」
の時点では何も入ってないのではないか?
と言う事です。
配列に入れた後で$user_colorの値を変更しても
@color1の中身は変化しません。
この回答への補足
回答ありがとうございます。
えっと、これを受けて以下のようにしました。
1)$user_colorの''を取る
2)配列の前に$user_color=$colorとして$user_colorに直前の$colorの情報を代入
3)配列の後のinputはuser_colorでなくcolorに代入
これでも動きません(TェT)
単純に考えたら$colorの色を$user_colorに代入して表示して、その後その色を選んでinputで$colorに色データを入れたら次からはその色で表示しそうな気がしてたんですが・・(;^_^A アセアセ…
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript フォームが空欄の時にフォームの外をクリックすると、エラーが出るコードを調べています。 1 2023/06/25 11:51
- JavaScript Javascriptが機能せず原因が分からないので教えて頂きたいです 3 2023/06/04 14:50
- HTML・CSS ただいま勉強始めたての初心者です。フォームを縦並べにしたいです。 2 2022/11/20 17:18
- Visual Basic(VBA) エクセルVBA ダブルクリックしたら色反転を指定したセルのみにしたい 2 2022/04/06 12:52
- 英語 提示文の関係代名詞節の文型の違いによるニュアンスの違いについて 2 2022/12/12 14:54
- Excel(エクセル) PHPプログラムをエクセルに張り付けると検索ボックスがでてくる! 3 2022/05/08 07:10
- HTML・CSS <!DOCTYPE html> <html> <head> <meta charset="utf-8 2 2023/01/05 01:04
- その他(プログラミング・Web制作) プログラミング pythonの問題について 2 2022/04/19 00:41
- Java Javaの問題なのですが、「3文字以上の英数字文字列を入力し、文字列の中に文字(9)が出てくるまでの 1 2023/06/06 18:55
- オープンソース cssで中央寄せ 1 2023/05/19 06:25
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
pythonにCでのexternはありますか
-
チェックボックスのvalue値の取...
-
なぜかわかりませんscanf()の戻...
-
ポインター引数の関数でコンパ...
-
10Mバイトて文字数に すると何...
-
Excel VBA メール作成について ...
-
char str[256]の256の意味は?
-
エクセルVBA:日付データの変換...
-
UTF-8で5~6バイトになる文字コ...
-
【VB2005】テキストボックス内...
-
printfの%eで指数部分の桁数を...
-
COBOLのCOMP形式について
-
Excel 1セル当りの文字数が2...
-
バイナリとBCDコード
-
【Excel VBA】10進数を2進数に...
-
1KBが1024byteな理由
-
エクセルシート名の制限を変更...
-
stable diffusionのエラー
-
DataGridViewの特定列に入力さ...
-
PNGを24bppBMPに変換したいので...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
pythonにCでのexternはありますか
-
多元配列の0初期化
-
VB2010での連立方程式の計算
-
なぜかわかりませんscanf()の戻...
-
perlのgrepでmyを付けた場合と...
-
マクロの書き換え箇所がわかり...
-
c言語 グローバル変数
-
算術演算子
-
配列へのポインタの代入
-
UWSCにおける変数の扱い方
-
$template->output();の時に ...
-
@color1 = ('0000ae',・・・,'$...
-
ポインター引数の関数でコンパ...
-
10Mバイトて文字数に すると何...
-
UTF-8で5~6バイトになる文字コ...
-
エクセルシート名の制限を変更...
-
COBOLのCOMP形式について
-
stable diffusionのエラー
-
ビットスワップとバイトスワッ...
-
char str[256]の256の意味は?
おすすめ情報