dポイントプレゼントキャンペーン実施中!

<html>
<head>
<script Language="JavaScript"><!--
function doSentaku(btn) {
//クリックされたボタンの要素番号が知りたい
alert(btn.name);
}
// --></script>
</head>
<body>
<form name="mainWin">
<input type="button" value="配列ボタンテスト1" name="testbtn" onClick="javaScript:doSentaku(this)"><br>
<input type="button" value="配列ボタンテスト2" name="testbtn" onClick="javaScript:doSentaku(this)"><br>
<input type="button" value="配列ボタンテスト3" name="testbtn" onClick="javaScript:doSentaku(this)"><br>
</form>
</body>
</html>
-----------------------------------------------------------------------------------------
このようなFromがあった場合、nameが同じである時、javaScriptではボタンのElemetは配列扱いになるかと思うのですが、doSentaku関数内ではnameは取得できるとして、クリックされた要素番号は取得できるのでしょうか?
なお、訳ありでdoSentaku関数のボタンonClickの関数引数はすべて同じ定義しかできないものとします。
つまり個々ボタンを識別する値は指定できないと言うことです。
まことに申し訳ありませんが、どうかアドバイスのほどよろしくお願いします。

A 回答 (1件)

質問文の例の場合、btn.valueで、内容からボタンを区別したり、この場合、valueの最後に数値があるので、それを利用する方法もありますが、



var bt = document.mainWin.testbtn
for(var i=0;i<bt.length;i++){
if(btn === bt[i]){
break;
}
}
alert("No."+i);
のようにすれば、配列の添え字を取得できると思います。(0始まりなのに注意)
    • good
    • 0
この回答へのお礼

早速の回答、まことにありがとうございます。
こちらで試しましたところ、思い通りの動作をいたしました。本当に助かりました。
また、機会がありましたら宜しくお願いします。

お礼日時:2005/09/08 19:18

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