複数の選択オプションを1つずつクリックしてURLをポップアップする必要があります。つまり、あるオプションをクリックすると、新しいウィンドウがポップアップし、ユーザーはデータを送信して前のhtmlウィンドウに戻ることができます。もう一度ユーザーが1つのオプション(Ctrl +クリック)を選択すると、新しいポップアップウィンドウが開きます。しかし、ポップアップURLにはオプションの値が入っています。複数のオプションをクリックすると、新しいウィンドウがポップアップします。
<select multiple="multiple" id="FldSel" name="FldSel" size=15 onchange="callInstrumentField();" >
<option isred= "A" value="1">1</option>
<option isred= "A" value="2">2</option>
<option isred= "A" value="3">3</option>
<option isred= "A" value="4">4</option>
</select>
// JavaScript関数は次のとおりです。
function callInstrumentField()
{
var url;
var w;
var InstAct;
var InstName = document.ATTForm.instname.value.replace(/\s/gi,"");
var sel = document.getElementById('FldSel');
var selected = sel.options[sel.selectedIndex];
var FldSelVel = sel.value;
var FldType = selected.getAttribute("isred");
var x2 = document.ATTForm.InstrAction.value;
if(InstName=="")
{
alert("Please Enter Instrument Name");
document.getElementById("instname").focus();
return false;
}
else{
if(x2=="UPDATE")
{
InstAct= 'SELECT';
}
else
{
InstAct=x2;
}
//var x2="SELECT";
if (FldType == "Dropdown")
{
url = '?func=lsdms.ViewInstrumentFldSel&InstrAction='+InstAct+'&InstruMntNo='+FldSelVel;
w = window.open(url,"","height=340,width=680,scrollbars=yes,resizable=yes,menubar=no,toolbar=yes,status=yes");
if (w.focus)
{
w.focus();
}
}
}
}
しかし、そのは、所望の方法で動作していません。スクリプト内で以前に選択されたオプション値を渡すたびに。
問題は複数の選択オプションにあります。複数の値を選択すると、常に最初に選択した値が渡されます。 –