2012-01-31 9 views
3

私は立ち往生しており、助けが必要です。私は5つのテキストボックス:txt1,txt2,txt3,txt4およびtxt5を持っていて、機能はfunc1()です。私はこれらのテキストボックスのいずれかに変更がある場合は、関数func1()が呼び出されることを望みます。私はJavaScriptでこれをどうやってやることができますか?JavaScriptの変更を処理します

+1

以下の回答は良好です。もしあなたが[jQuery](http://www.jquery.com)を知らないのなら、それをチェックアウトする必要があります。 – rkw

答えて

3

リンクはあなたのfunc1の()にのonchangeイベントが

それは何かになる要素への参照を取得する必要がある場合は<input type="text" id="txt1" onchange="func1()" />

JavaScript Event onChange

3

あなたは、これらのテキストボックス内onchangeイベントをサブスクライブして機能を呼び出すことができます。

<input type="text" name="txt1" id="txt1" onchange="func1();" /> 
<input type="text" name="txt2" id="txt2" onchange="func1();" /> 
... 

または控えめにそれを行う:

​​3210 :あなたのjavascriptファイルで

<input type="text" name="txt1" id="txt1" /> 
<input type="text" name="txt2" id="txt2" /> 
... 

、その後に

またはループ内:

window.onload = function() { 
    for (var i = 1; i <= 5; i++) { 
     document.getElementById('txt' + i).onchange = func1; 
    } 
}; 
+0

私はこのコード を使用しています。入力項目は、テキストボックスのIDを含む配列であり、isRequestValidは関数の呼び出しの前です。それが正しいか? **太字** 'コード' $(input_item).each(関数(){ \t \t //要素の現在の値を保存 \t \t場合($(この).dataの() 'OLDVAL'!= $(これ)。val()){ \t \t isRequestValid = true; \t \t $(this).data( 'oldVal'、$(this).val()); \t \t} \t \t}); –

+0

@ user1179868、これはjqueryコードです。なぜ元の質問でこれを説明していないのですか?この情報を含めるように質問を編集してください。私は [コード] $(input_item).each(関数(){ \t \tをこのコードを使用しています –

0

onchangeを使用してください。あなたはその後、

<input type="text" name="txt1" id="txt1" onchange="func1(this);" /> 
    <input type="text" name="txt2" id="txt2" onchange="func1(this);" /> 

function func1(item){ 
    // you have the reference to the item 
} 
+0

//要素 \t \tの現在の値を保存する場合($(この).dataセクション( 'OLDVAL')! = $(この).val()){ \t \t isRequestValid = TRUE; \t \t $(この).DATA( 'OLDVAL'、$(この).val()); \t \t} \t \t} ); [コード] では、入力項目がテキストボックスのIDを含む配列であり、isRequestValidは関数の呼び出しの前です。それが正しいか? –

+0

あなたの質問を編集して、このコードスニペットを誰にでも見せるように追加する方が良いでしょう。 http://jsfiddle.net/を使用してください。 –

+0

Btw、$(this)を使用している場合は、jQueryを使用しています。 jQueryの変更機能については、http://api.jquery.com/change/を参照してください。 –

1

を参照してください。 like:

<input type="text" onchange="func1()"> 
<input type="text" onchange="func1()"> 
<input type="text" onchange="func1()"> 
<input type="text" onchange="func1()"> 
<input type="text" onchange="func1()"> 

(ID /名前が書かれていませんでした。)

3
<SCRIPT TYPE="text/javascript"> 

function function1() 
{ 
alert("changed"); 
} 

</SCRIPT> 

<INPUT NAME="txt1" onChange="function1()"><BR> 
<INPUT NAME="txt2" onChange="function1()"><BR> 
<INPUT NAME="txt3" onChange="function1()"><BR> 
1

私はHTMLで "のonchange" イベントを使用して、すべての答えを参照してください。これは悪い習慣です。理由を理解するにはUnobtrusive Javascriptを参照してください。

document.getElementById('').addEventListener('change', function() {});を使用することをおすすめしますが、これはクロスブラウザサポートが最適ではないため、jQueryをお勧めします。 jQueryので

、あなたは自分のテキストボックスに同じクラスを追加し、あなたがこれを行うことができます。

$('.textBoxes').change(function() {}); 

誰かではJavaScriptを要求したとき、私は通常のjQueryをお勧めしませんが、この場合は明らかにクロスを要求-browserとの互換性。

関連する問題