行き詰っているので、力を貸してください。あるプロダクトの名前、ID、及び値段をデータベースからPERL DBIで引っ張ってきています。
<option value="id">$name</option>という形になっています。
同じページの同じフォームにたくさんあるオプションの中からある名前を選ぶと、値段をテキストボックスでonCheck で表示させたいのですが、データベースからとってきた配列はフォームの中のwhile文の中に入っているため、どうやって、<header>の間のjavascript の配列に入れることができるのでしょうか?
スクリプトは下記の通りです。
PERL/DBI form名:mbscalcTb
my $sql = "SELECT ProductId,.NameJ,.PSJ from Security";
my $sth = $dbh->prepare($sql); $sth->execute(); my $row;
while ( $row = $sth->fetchrow_hashref() ) {
my ( $ProductId, $NameJ, $psjtb ) = ( $row->{ProductId},$row->{NameJ},$row->{PSJ} );
print "<option value=$ProductId name=\"pid\" onmouseup=\"get_psj()\">$NameJ$psjtb</option>";
print "<tr><td><input type="text" name="price"></tr></td>";
}
なんとなく、やりたいjavascript
知りたいこと:var productId_list array の中にどうやれば、
カンマの区切り入りで上の$row->{PSJ} を入れることができるのか??
function get_price () {
var productId_list = [ $ProductId];
var psj_list = [ $psj ];
var pid = document.mbscalcTb.pid.value;
for (var i =0; i < productIdlist.length; i++) {
if (productId_list[i] == pid ) {
return psj_list[i];
document.mbscalcTb.price.value= psj_list[i];}
}
また、他にもっといい方法があれば教えてください。宜しくお願いします。
No.1
- 回答日時:
ちょっと意味が分かりかねますが、
<option value="値段" ・・・>
にすれば良いのでは?
もし複数の情報が欲しいのであれば、
<option value="Id,値段,something" ・・・>
にして、javascript内でvalueをカンマ区切りで解析。
Arrayに入れたいのであれば、冒頭で検索をかけて、検索結果を保持したまま<head>内のjavascriptを記述、次に<body>内の文を記述すれば良いのではないでしょうか。
皆さん、ありがとうございました。
解決しました。皆様のとはやり方が違いますので、参考までにご覧下さい。
my $dbh = &getDBConnection(1);
my $sql = "SELECT ProductId, NameJ, PSJ from Security";
my $sth = $dbh->prepare($sql);
$sth->execute();
my $row; my $meigara;
while ( $row = $sth->fetchrow_hashref() ) {
my ( $ProductId, $NameJ, $psjtb) = ( $row->{ProductId},
$row->{NameJ},
$row->{PSJ}
);
$meigara .="<option value=$ProductId name=\"pid\" selected>$NameJ</option>\n";
$psj .= ',' if (length($psj) );
$psj .= " $psjtb" ;
}
Javascript:
function get_psj() {
var psj = new Array ( $psj );
var i = document.mbscalcTb.product.selectedIndex ;
document.mbscalcTb.PSJper.value = psj[i];
}
HTML:
<select size="10" style="width:300px;" name="product" onChange="get_psj()" >
$meigara
</select>
No.2ベストアンサー
- 回答日時:
なぜheaderに参照した値を入れる必要があるのか
わかりませんが、やるなら参照処理と表示処理を
分けるだけでよいのでは?
フロー的にはこんな感じで。
<?PHP
・・・
while(sql指定){
$script_str.="ほげほげ";
$option_str.="<option>ほげ";
}
・・・
print <<<eof;
<html>
<head>
<script language=javascript>
function hoge(obj){
・・・
$script_str
}
</script>
</head>
<body>
・・・
<form>
<select onChange="hoge(this)">
$option_str
</select>
</form>
・・・
</body>
</html>
eof;
?>
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- CGI perlで書いたcgiでsqliteの使い方を教えてください 2 2023/05/08 21:29
- JavaScript 以前の質問だと、どの条件でも配列が表示されてしまいます。 1 2022/07/09 11:40
- AJAX JavascriptからPHPへのAjax通信でnullが返ってくる 3 2022/08/03 22:00
- JavaScript sessionStorageを調べています。 1 2023/06/20 12:41
- JavaScript セレクトボックスで配列を呼び出したい。 1 2022/07/08 20:14
- JavaScript gasについて 1 2022/05/31 21:51
- JavaScript コードレビューをお願いします。 1 2022/07/16 05:38
- JavaScript javascriptでテーブルに追加した項目のid追加してローカルストレージを操作したい 5 2023/01/01 15:52
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
- JavaScript セレクトを全て選択されていないと、文字によるエラーメッセージを表示させるコードを調べています 2 2023/06/22 15:48
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
selectを変更不可にしたい
-
プルダウン選択を変更すると、...
-
javascriptでセレクトボックス...
-
javascriptでoptionタグを削除...
-
スマホのフォームでのselect複...
-
SELECTタグで変更禁止にする方法
-
プルダウンメニューに連動する...
-
selectのすべての値を送信する方法
-
hiddenに値を設定する方法
-
全てのselect要素をデフォルト...
-
Selectボックスの一覧表示方法
-
プルダウンを選択していないと...
-
select要素のvalueを配列で取得...
-
webページの一部のみの更新につ...
-
「年」「月」二つのドロップダ...
-
javascriptで計算フォームを作...
-
変数にフォーム名を指定したい
-
同じ名前のセレクトがある場合...
-
selectボックスで選択数を制限...
-
jqueryでselect要素を表示・非...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
全てのselect要素をデフォルト...
-
javascriptでセレクトボックス...
-
Selectボックスの一覧表示方法
-
JavaScriptで<select>の<option...
-
プルダウン選択を変更すると、...
-
select要素のvalueを配列で取得...
-
selectを変更不可にしたい
-
<input>の選択肢をプルダウンメ...
-
ラジオボタンとプルダウンを連...
-
【JS】selectでchangeした時の...
-
VBScriptでHTMLのセレクトボッ...
-
リストボックス内の重複したも...
-
同じ名前のセレクトがある場合...
-
プルダウンの値によって活性・...
-
selectが変更されたらnameを指...
-
【javascript】連想配列からセ...
-
3つのselectでURLパラメータを...
-
複数のプルダウンを1つにまとめ...
-
selectボックスで選択数を制限...
-
セレクトボックスで配列を呼び...
おすすめ情報