2009-07-22 14 views
0

テキストボックスのデータをクリアするJavaScriptがあります。コードはスタンドアロンのページで正常に動作しますが、マスターページでは機能しません。デフォルトのページでJavascriptが発行したマスターページ

私JavaScriptは次のとおりです。

<script type="text/javascript"> 

    function doClear(searchBox) { 
     if (searchBox.value == searchBox.defaultValue) { 
      searchBox.value = "" 
     } 
    } 

</script> 

そして私、これは私がのOnClickプロパティを添付することやってるものです:

protected void Page_Load(object sender, EventArgs e) 
{ 
    TextBox1.Attributes.Add("onclick", "doClear(searchBox);"); 
} 

エラーは「サーチ」は未定義です!

ご協力いただきまして誠にありがとうございます。

マット

+0

あなたは答えを受け入れるつもりはありませんか? –

答えて

3

あなたはマスターページを使用すると、ASP.NETは、彼らが一意であることを確認して、あなたのHTML要素のクライアントIDを変更することがあり

protected void Page_Load(object sender, EventArgs e) 
{ 
    TextBox1.Attributes.Add("onclick", "doClear('" + TextBox1.ClientId + "');"); 
} 

、何かなどを行う必要があります。 http://odetocode.com/Articles/450.aspxを参照してください。名前欄の名前欄をご覧ください。

0

ASP.NETページでは、あなたの要素のidを変更します。 doClear(searchBox)を呼び出す代わりに、関数を変更してHTML要素を取得し、doClear(this)を呼び出します。

0

は、なぜあなたはあなたのページのソースを見てみませんか?結局、javascriptがアクセスできるようになりました。検索ボックスが表示されていますか? Textbox1.ClientIdを参照する必要があります。これは、後になっているコントロールを参照します。

関連する問題