アプリ版:「スタンプのみでお礼する」機能のリリースについて

ASPのプログラムの中に
Bというリストボックスの値を「追加」ボタンを押すとAのリストボックスに
追加できるようなスクリプトを作りたいのですが、
Request.Formで同ページにPOSTでsubmitして送っていたのですが
それだと何度も追加ができなくなってしまうので他のやり方にしたいのです。
いろいろ調べてVBScriptやJavaScriptでできるのではないかというのまでは
わかったのですが、どうもやり方がいまいちわかりません。
できればJavaScriptのほうでやりたいと思うのですがどなたか良い方法を
ご教授いただけないでしょうか。
よろしくおねがいします。


<select size="5" multiple name="A">
</select><input type="submit" value="追加"><select size="5" multiple name="B">
<option>AAAAA</option>
<option>BBBBB</option>
<option>CCCCC</option>
</select>

A 回答 (2件)

こんな感じで良い?



<script type="text/JavaScript">
function addItem() {
A = document.X.A;
B = document.X.B;
idx = B.selectedIndex;
if (idx != -1) {
A[A.options.length] = new Option(B[idx].text, B[idx].value);
}
}
</script>

<form name="X">
<select size="5" multiple name="A">
<option> </option> <!-- サイズをそろえるために、ダミーで空白を入れてます -->
</select>
<input type="button" value="追加" onClick="addItem()">
<select size="5" multiple name="B">
<option>AAAAA</option>
<option>BBBBB</option>
<option>CCCCC</option>
</select>

</form>
    • good
    • 0
この回答へのお礼

ありがとうございます。

JavaScriptでするときは複数選択したときには
無理だと考えたほうがいいんでしょうか・・・。

お礼日時:2001/11/21 15:42

こんにちはさん、xruzです。


multiple対応に変えてみました(a-kumaさんパクッてごめんなさい)。

<html>
<head>
<title></title>
</head>
<script type="text/JavaScript">
<!--
function addItem() {
A = document.X.A;
B = document.X.B;
for(var i=0;i<B.options.length;i++)
if(B.options[i].selected)
A[A.options.length] = new Option(B.options[i].text, B.options[i].value);
}
// -->
</script>
<body>
<form name="X">
<select size="5" multiple name="A">
<option></option>
</select>
<input type="button" value="Copy" onClick="addItem()">
<select size="5" multiple name="B">
<option>AAAAA</option>
<option>BBBBB</option>
<option>CCCCC</option>
</select>
</form>
</body>
</html>

がんばってくださいね。
    • good
    • 0
この回答へのお礼

ありがとうございます。
ばっちりできました。m(_ _)m

お礼日時:2001/11/21 16:22

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