2016-10-31 5 views
1

私はonchangeイベントトリガーを使用して編集可能なフィールドでデータ検証を実行しようとしています。イベントが発生すると、イベントを渡します。私の関数は、innerHTMLをアラートに表示しようとしますが、常にnullを返します。ここでevent.target.innerHTMLが現在の値を返さない

は私のコードです:

<head> 
<script> 
    function chkchg(evt) { 
    alert(evt.innerHTML); 
    } 
</script> 
</head> 
<body> 
    <table> 
    <tr> 
    <td><input class='patched' contenteditable='true' type='text' onchange='chkchg(event.target);' value='Yes'></td> 
    <td><input class='excluded' contenteditable='true' type='text' onchange='chkchg(event.target);' value='No'></td> 
    </tr> 
    </table> 
</body> 

それはかなり簡単なようだが、私は間違っているのか分かりません。

+0

'innerHTML'は、 '

HTML
'のようなタグ間のHTMLを返します。しかし、あなたは 'value'を取得しようとしています。 [それについては、この回答を参照してください。](0120-18752) – samiles

答えて

0

イベントのみをchkchg関数に渡して、関数内のターゲットプロパティを参照してみてください。しかし、ここで本当の修正ではなく、innerHTMLプロパティの入力のvalueプロパティを参照している:

<head> 
<script> 
    function chkchg(evt) { 
    alert(evt.target.value); 
    } 
</script> 
</head> 
<body> 
    <table> 
    <tr> 
    <td><input class='patched' contenteditable='true' type='text' onchange='chkchg(event);' value='Yes'></td> 
    <td><input class='excluded' contenteditable='true' type='text' onchange='chkchg(event);' value='No'></td> 
    </tr> 
</table> 

+0

私は同じ結果 - 空白のアラートを取得します。 –

+0

これはイベントのターゲットなので、入力の値を参照する必要があります。 innerHTMLは、あなたがtd –

+0

を参照していればうまくいきました。それはそれでした! innerHTMLの代わりにvalueにアクセスする必要があります。ありがとう! –

0

あなたが入力の値をしたい場合は、なぜthis.valueを使用していません。 innerHTMLは入力フィールドでは機能しません。 valueを使用する必要があります。

<script> 
    function chkchg(evt) { 
     alert(evt); 
    } 
</script> 
<table> 
    <tr> 
     <td> 
      <input class='patched' contenteditable='true' type='text' onchange='chkchg(this.value);' value='Yes'></td> 
     <td> 
      <input class='excluded' contenteditable='true' type='text' onchange='chkchg(this.value);' value='No'></td> 
    </tr> 
</table> 

またはthisを使用。その後、他のプロパティにアクセスできます。

<input class='patched' id='patched' contenteditable='true' type='text' onchange='chkchg(this);' value='Yes'> 

<script> 
    function chkchg(evt) { 
     alert(evt.id + " - " + evt.value); 
    } 
</script> 
関連する問題