0

多数のテキストフィールド要素を持つフォームがあります。それらの値を変更すると、Javascript 関数が実行されます。そして今まで私は何をすべきかを知っていましたが、関数をトリガーしたテキストフィールドのインデックスを検出できません。あちこちで見た解決策を試しましたが、成功しませんでした。

<form action="" method="post" enctype="multipart/form-data" name="myforma1" target="_self" id="myforma1">
<input name="txtfield" type="text" id="txtfield" onchange="detect_it(this);" value="name of person" size="20" maxlength="25" />
<input name="txtfield" type="text" id="txtfield" onchange="detect_it(this);" value="name of person" size="20" maxlength="25" />
<input name="txtfield" type="text" id="txtfield" onchange="detect_it(this);" value="name of person" size="20" maxlength="25" />

...

<script>
function detect_it(oo)
{
alert('Index of triggered element is: ' + oo.index);
/* rest of code */
}
</script>
4

2 に答える 2

0

ここでの問題は、インデックスが要素のプロパティではないことです。コンテキストに応じて異なるインデックスを持つことができますが、次のようなものを試すことができます:

    function detect_it(oo){
     var inputs = document.getElementsByTagName('input')
     for (var i = 0 ; i<inputs.length ; i++){
        if(oo == inputs[i]{
          alert('Index of triggered element is: ' + i);
        }   
    }
    //enter code here
    }
于 2013-06-30T08:11:47.780 に答える