KeyPressのJavascriptでASP.Netラベルを非表示にする

ASP.Net 4.0ウェブサイトには、ユーザーがテキストボックスに入力する際に​​隠そうとしているラベルがあります。

私は、テキストボックスのKeypresseventで発射しているJavascript関数を持っています。

だから、私のJavascript関数は:

function hideLabel(sender, e) {
    document.getElementById('<%=lblResult.ClientID%>').style.display = 'none';
}

私のテキストボックスとラベルは次のとおりです:

<tr><td>
    
</td></td>
<tr><td>
  
</td></td>

The function fires but I receive the following error: Microsoft JScript runtime error: Object required

I've also tried the below line of code within my function but this doesn't work either:

document.getElementById('lblResult').style.visibility = 'hidden';

Anybody got any idea why this is failing in IE 8 - it is working correctly in Chrome.

1
いくつかのポイント:1)あなたが行ったように定義されたラベルは、実際にテキスト としてレンダリングされています。 - 代わりに が必要な場合は、 AssociatedControlID をテキストボックスのIDに設定する必要があります。 2)IE Developer Tools(F12)を開こうとしましたが、コンソールにエラーがないかチェックしましたか?あなたが持っているコードはうまくいくはずです。IE8モードでも同様の設定をテストしました。
追加された 著者 Zhaph - Ben Duguid,
あなたの2番目のJSの試みはうまくいかないでしょう:あなたが書いたように、コントロールはおそらくIDを持っていません(あなたはClientIDプロパティを使う権利があります)。Visibilityは存在しないASP.NETプロパティですDOM。
追加された 著者 Zhaph - Ben Duguid,

3 答え

あなたが探しているラベルを見つけられないのはほぼ確実です。生成されたソースを見て、ラベルがページに存在し、javascriptで生成された出力にあるIDを取得していることを確認します。

1
追加された

パラメータを持たないメソッドだけが動作します。

<script language="javascript" type="text/javascript">
    function hideIt() {
        document.getElementById('<%=myLabel.ClientID%>').style.display = 'none'; 
    }
</script>

更新しました :

HTML     マイラベル

SCRIPT function hideIt() { document.getElementById('<%=myLabel.ClientID%>').style.display = 'none'; }

私はそれが動作することを確認することができます.... どのブラウザを使用しているので、私はそれをテストすることができますか?

1
追加された
IEとFFはうまく動作しています。あなたのコードを投稿できますか?
追加された 著者 Sebastian Siek,
ブラウザでページをレンダリングして、HTMLソースを投稿できますか?それはクライアントIDと関係があります。
追加された 著者 Sebastian Siek,
ありがとうございますが、それはうまくいきません
追加された 著者 user1131661,
私はIE8を使用していますが、私はちょうどGoogle Chromeでそれを試してみました。私のIEにいくつかの設定がありますか?私は別のフォームで実行している他のkeypressイベントを持っています。
追加された 著者 user1131661,
ここに私のコードですが、このペーストがOKであることを願っています:function hideLabel(){alert( "Here"); document.getElementById( '<%= lblResult.ClientID%>')。style.dis&zwnj; play = 'none';私はhideLabelコールを()メソッドを使わずに試してみましたが、このメソッドは、それでも動作しません。また、ここにラベルボックスがあります:
追加された 著者 user1131661,
はい、私はこれを今働いています。これを試す前に、ラベルがヌルでないことを確認しなければなりませんでした。その後、それは動作します。しかし、すべての助けに感謝します。
追加された 著者 user1131661,

私はあなたのケースでは機能するためにパラメータを渡す必要はないと思う:

    function hideLabel() {
    document.getElementById("<%=lblResult.ClientID%>").style.display = "none";
}


1
追加された
返信をありがとうが、私はまだエラーメッセージが表示されます。
追加された 著者 user1131661,
JavaScript - 日本のコミュニティ
JavaScript - 日本のコミュニティ
2 参加者の

日本人コミュニティのjavascript